123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- #pragma once
- #include <cstdint>
- #include <string>
- #include <vector>
- namespace mumlib {
- using namespace std;
- class Callback {
- public:
- virtual void version(
- uint16_t major,
- uint8_t minor,
- uint8_t patch,
- string release,
- string os,
- string os_version) { };
- virtual void audio(
- int target,
- int sessionId,
- int sequenceNumber,
- int16_t *pcm_data,
- uint32_t pcm_data_size) { };
- virtual void unsupportedAudio(
- int target,
- int sessionId,
- int sequenceNumber,
- uint8_t *encoded_audio_data,
- uint32_t encoded_audio_data_size) { };
- virtual void serverSync(
- string welcome_text,
- int32_t session,
- int32_t max_bandwidth,
- int64_t permissions) { };
- virtual void channelRemove(uint32_t channel_id) { };
- virtual void channelState(
- string name,
- int32_t channel_id,
- int32_t parent,
- string description,
- vector<uint32_t> links,
- vector<uint32_t> inks_add,
- vector<uint32_t> links_remove,
- bool temporary,
- int32_t position) { };
- virtual void userRemove(
- uint32_t session,
- int32_t actor,
- string reason,
- bool ban) { };
- virtual void userState(
- int32_t session,
- int32_t actor,
- string name,
- int32_t user_id,
- int32_t channel_id,
- int32_t mute,
- int32_t deaf,
- int32_t suppress,
- int32_t self_mute,
- int32_t self_deaf,
- string comment,
- int32_t priority_speaker,
- int32_t recording) { };
- virtual void banList(
- const uint8_t *ip_data,
- uint32_t ip_data_size,
- uint32_t mask,
- string name,
- string hash,
- string reason,
- string start,
- int32_t duration) { };
- virtual void textMessage(
- uint32_t actor,
- std::vector<uint32_t> session,
- std::vector<uint32_t> channel_id,
- std::vector<uint32_t> tree_id,
- string message) { };
- virtual void permissionDenied(
- int32_t permission,
- int32_t channel_id,
- int32_t session,
- string reason,
- int32_t deny_type,
- string name) { };
- virtual void queryUsers(
- uint32_t n_ids,
- uint32_t *ids,
- uint32_t n_names,
- string *names) { };
- virtual void contextActionModify(
- string action,
- string text,
- uint32_t m_context,
- uint32_t operation) { };
- virtual void contextAction(
- int32_t session,
- int32_t channel_id,
- string action) { };
- virtual void userList(
- uint32_t user_id,
- string name,
- string last_seen,
- int32_t last_channel) { };
- virtual void permissionQuery(
- int32_t channel_id,
- uint32_t permissions,
- int32_t flush) { };
- virtual void codecVersion(
- int32_t alpha,
- int32_t beta,
- uint32_t prefer_alpha,
- int32_t opus) { };
- virtual void serverConfig(
- uint32_t max_bandwidth,
- string welcome_text,
- uint32_t allow_html,
- uint32_t message_length,
- uint32_t image_message_length) { };
- virtual void suggestConfig(
- uint32_t version,
- uint32_t positional,
- uint32_t push_to_talk) { };
- };
- class _BasicCallback_Private;
- class BasicCallback : public Callback {
- public:
- BasicCallback();
- ~BasicCallback();
- void version(
- uint16_t major,
- uint8_t minor,
- uint8_t patch,
- string release,
- string os,
- string os_version) override;
- void audio(
- int target,
- int sessionId,
- int sequenceNumber,
- int16_t *pcm_data,
- uint32_t pcm_data_size) override;
- void unsupportedAudio(
- int target,
- int sessionId,
- int sequenceNumber,
- uint8_t *encoded_audio_data,
- uint32_t encoded_audio_data_size) override;
- void serverSync(
- string welcome_text,
- int32_t session,
- int32_t max_bandwidth,
- int64_t permissions) override;
- void channelRemove(uint32_t channel_id) override;
- void channelState(
- string name,
- int32_t channel_id,
- int32_t parent,
- string description,
- vector<uint32_t> links,
- vector<uint32_t> inks_add,
- vector<uint32_t> links_remove,
- bool temporary,
- int32_t position) override;
- void userRemove(
- uint32_t session,
- int32_t actor,
- string reason,
- bool ban) override;
- void userState(
- int32_t session,
- int32_t actor,
- string name,
- int32_t user_id,
- int32_t channel_id,
- int32_t mute,
- int32_t deaf,
- int32_t suppress,
- int32_t self_mute,
- int32_t self_deaf,
- string comment,
- int32_t priority_speaker,
- int32_t recording) override;
- void banList(
- const uint8_t *ip_data,
- uint32_t ip_data_size,
- uint32_t mask,
- string name,
- string hash,
- string reason,
- string start,
- int32_t duration) override;
- void textMessage(
- uint32_t actor,
- std::vector<uint32_t> session,
- std::vector<uint32_t> channel_id,
- std::vector<uint32_t> tree_id,
- string message) override;
- void permissionDenied(
- int32_t permission,
- int32_t channel_id,
- int32_t session,
- string reason,
- int32_t deny_type,
- string name) override;
- void queryUsers(
- uint32_t n_ids,
- uint32_t *ids,
- uint32_t n_names,
- string *names) override;
- void contextActionModify(
- string action,
- string text,
- uint32_t m_context,
- uint32_t operation) override;
- void contextAction(
- int32_t session,
- int32_t channel_id,
- string action) override;
- void userList(
- uint32_t user_id,
- string name,
- string last_seen,
- int32_t last_channel) override;
- void permissionQuery(
- int32_t channel_id,
- uint32_t permissions,
- int32_t flush) override;
- void codecVersion(
- int32_t alpha,
- int32_t beta,
- uint32_t prefer_alpha,
- int32_t opus) override;
- void serverConfig(
- uint32_t max_bandwidth,
- string welcome_text,
- uint32_t allow_html,
- uint32_t message_length,
- uint32_t image_message_length) override;
- void suggestConfig(
- uint32_t version,
- uint32_t positional,
- uint32_t push_to_talk) override;
- private:
- _BasicCallback_Private *impl;
- };
- }
|