mediahandlerrootelement.hpp 950 B

123456789101112131415161718192021222324252627282930313233343536
  1. /**
  2. * Copyright (c) 2020 Filip Klembara (in2core)
  3. *
  4. * This Source Code Form is subject to the terms of the Mozilla Public
  5. * License, v. 2.0. If a copy of the MPL was not distributed with this
  6. * file, You can obtain one at https://mozilla.org/MPL/2.0/.
  7. */
  8. #ifndef RTC_MEDIA_HANDLER_ROOT_ELEMENT_H
  9. #define RTC_MEDIA_HANDLER_ROOT_ELEMENT_H
  10. #if RTC_ENABLE_MEDIA
  11. #include "mediahandlerelement.hpp"
  12. namespace rtc {
  13. /// Chainable message handler
  14. class RTC_CPP_EXPORT MediaHandlerRootElement : public MediaHandlerElement {
  15. public:
  16. MediaHandlerRootElement() {}
  17. /// Reduce multiple messages into one message
  18. /// @param messages Messages to reduce
  19. virtual message_ptr reduce(ChainedMessagesProduct messages);
  20. /// Splits message into multiple messages
  21. /// @param message Message to split
  22. virtual ChainedMessagesProduct split(message_ptr message);
  23. };
  24. } // namespace rtc
  25. #endif // RTC_ENABLE_MEDIA
  26. #endif // RTC_MEDIA_HANDLER_ROOT_ELEMENT_H