#ifndef MODULE_H #define MODULE_H #include "typedefs.h" namespace webrtc { class Module { public: // Returns version of the module and its components. virtual int32_t Version(char* version, uint32_t& remainingBufferInBytes, uint32_t& position) const = 0; // Change the unique identifier of this object. virtual int32_t ChangeUniqueId(const int32_t id) = 0; // Returns the number of milliseconds until the module want a worker // thread to call Process. virtual int32_t TimeUntilNextProcess() = 0 ; // Process any pending tasks such as timeouts. virtual int32_t Process() = 0 ; protected: virtual ~Module() {} }; } // namespace webrtc #endif // MODULE_H