Callback.cpp 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. #include "mumlib/Callback.hpp"
  2. #include <boost/noncopyable.hpp>
  3. #include <log4cpp/Category.hh>
  4. using namespace std;
  5. using namespace mumlib;
  6. namespace mumlib {
  7. struct _BasicCallback_Private : boost::noncopyable {
  8. public:
  9. _BasicCallback_Private() : logger(log4cpp::Category::getInstance("mumlib.BasicCallback")) { }
  10. log4cpp::Category &logger;
  11. };
  12. }
  13. mumlib::BasicCallback::BasicCallback() {
  14. impl = new _BasicCallback_Private();
  15. }
  16. mumlib::BasicCallback::~BasicCallback() {
  17. delete impl;
  18. }
  19. void mumlib::BasicCallback::version(
  20. uint16_t major,
  21. uint8_t minor,
  22. uint8_t patch,
  23. string release,
  24. string os,
  25. string os_version) {
  26. impl->logger.debug("version: v%d.%d.%d. %s/%s/%s\n", major, minor, patch, release.c_str(), os.c_str(),
  27. os_version.c_str());
  28. }
  29. void BasicCallback::audio(
  30. int target,
  31. int sessionId,
  32. int sequenceNumber,
  33. int16_t *pcmData,
  34. uint32_t pcm_data_size) {
  35. impl->logger.debug("audio: %d bytes of raw PCM data, target: %d, session: %d, seq: %d.",
  36. pcm_data_size, target, sessionId, sequenceNumber);
  37. }
  38. void BasicCallback::unsupportedAudio(
  39. int target,
  40. int sessionId,
  41. int sequenceNumber,
  42. uint8_t *encoded_audio_data,
  43. uint32_t encoded_audio_data_size) {
  44. impl->logger.debug("unsupportedAudio: received %d bytes of encoded data, target: %d, session: %d, seq: %d.",
  45. encoded_audio_data_size, target, sessionId, sequenceNumber);
  46. }
  47. void BasicCallback::serverSync(string welcome_text, int32_t session, int32_t max_bandwidth, int64_t permissions) {
  48. impl->logger.debug("serverSync: text: %s, session: %d, max bandwidth: %d, permissions: %d", welcome_text.c_str(),
  49. session,
  50. max_bandwidth, permissions);
  51. }
  52. void BasicCallback::channelRemove(uint32_t channel_id) {
  53. impl->logger.debug("channelRemove: %d", channel_id);
  54. }
  55. void BasicCallback::channelState(string name, int32_t channel_id, int32_t parent, string description,
  56. vector<uint32_t> links, vector<uint32_t> inks_add, vector<uint32_t> links_remove,
  57. bool temporary, int32_t position) {
  58. impl->logger.debug("channelState: %d: %s, %s", channel_id, name.c_str(), description.c_str());
  59. }
  60. void BasicCallback::userRemove(uint32_t session, int32_t actor, string reason, bool ban) {
  61. impl->logger.debug("userRemove: session: %d, actor: %d, reason: %s, ban: %d.", session, actor, reason.c_str(), ban);
  62. }
  63. void BasicCallback::userState(int32_t session, int32_t actor, string name, int32_t user_id, int32_t channel_id,
  64. int32_t mute, int32_t deaf, int32_t suppress, int32_t self_mute, int32_t self_deaf,
  65. string comment, int32_t priority_speaker, int32_t recording) {
  66. impl->logger.debug("userState: %s: mute: %d, deaf: %d, suppress: %d, self mute: %d, self deaf: %d",
  67. name.c_str(), mute, deaf, suppress, self_mute, self_deaf);
  68. }
  69. void BasicCallback::banList(const uint8_t *ip_data, uint32_t ip_data_size, uint32_t mask, string name, string hash,
  70. string reason, string start, int32_t duration) {
  71. impl->logger.debug("banList: %s, hash: %s, reason: %s", name.c_str(), hash.c_str(), reason.c_str());
  72. }
  73. void BasicCallback::textMessage(
  74. uint32_t actor,
  75. std::vector<uint32_t> session,
  76. std::vector<uint32_t> channel_id,
  77. std::vector<uint32_t> tree_id,
  78. string message) {
  79. impl->logger.debug("textMessage: %d: %s", actor, message.c_str());
  80. }
  81. void BasicCallback::permissionDenied(int32_t permission, int32_t channel_id, int32_t session, string reason,
  82. int32_t deny_type, string name) {
  83. impl->logger.debug("permissionDenied: %s %s", name.c_str(), reason.c_str());
  84. }
  85. void BasicCallback::queryUsers(uint32_t n_ids, uint32_t *ids, uint32_t n_names, string *names) {
  86. impl->logger.debug("queryUsers: %d users", n_names); //todo make it more high-level
  87. }
  88. void BasicCallback::contextActionModify(string action, string text, uint32_t m_context, uint32_t operation) {
  89. impl->logger.debug("contextActionModify: ");
  90. }
  91. void BasicCallback::contextAction(int32_t session, int32_t channel_id, string action) {
  92. impl->logger.debug("contextAction.");
  93. }
  94. void BasicCallback::userList(uint32_t user_id, string name, string last_seen, int32_t last_channel) {
  95. impl->logger.debug("userList.");
  96. }
  97. void BasicCallback::permissionQuery(int32_t channel_id, uint32_t permissions, int32_t flush) {
  98. impl->logger.debug("permissionQuery.");
  99. }
  100. void BasicCallback::codecVersion(int32_t alpha, int32_t beta, uint32_t prefer_alpha, int32_t opus) {
  101. impl->logger.debug("codecVersion.");
  102. }
  103. void BasicCallback::serverConfig(uint32_t max_bandwidth, string welcome_text, uint32_t allow_html,
  104. uint32_t message_length, uint32_t image_message_length) {
  105. impl->logger.debug("serverConfig: %s", welcome_text.c_str());
  106. }
  107. void BasicCallback::suggestConfig(uint32_t version, uint32_t positional, uint32_t push_to_talk) {
  108. impl->logger.debug("suggestConfig.");
  109. }