update to new ngc_events
This commit is contained in:
parent
d05875f489
commit
54084b5a53
@ -64,11 +64,11 @@ struct ToxEventI {
|
|||||||
struct ToxEventProviderI {
|
struct ToxEventProviderI {
|
||||||
virtual ~ToxEventProviderI(void) {}
|
virtual ~ToxEventProviderI(void) {}
|
||||||
// TODO: unsub
|
// TODO: unsub
|
||||||
virtual void subscribe(ToxEventI* object, const Tox_Event event_type) = 0;
|
virtual void subscribe(ToxEventI* object, const Tox_Event_Type event_type) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
constexpr Tox_Event tox_event_from_string(const std::string_view str) {
|
constexpr Tox_Event_Type tox_event_from_string(const std::string_view str) {
|
||||||
#define CASE_E_TYPE(x) if (str == #x) return Tox_Event::x;
|
#define CASE_E_TYPE(x) if (str == #x) return Tox_Event_Type::x;
|
||||||
|
|
||||||
CASE_E_TYPE(TOX_EVENT_SELF_CONNECTION_STATUS)
|
CASE_E_TYPE(TOX_EVENT_SELF_CONNECTION_STATUS)
|
||||||
|
|
||||||
@ -117,63 +117,13 @@ constexpr Tox_Event tox_event_from_string(const std::string_view str) {
|
|||||||
CASE_E_TYPE(TOX_EVENT_GROUP_JOIN_FAIL)
|
CASE_E_TYPE(TOX_EVENT_GROUP_JOIN_FAIL)
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_MODERATION)
|
CASE_E_TYPE(TOX_EVENT_GROUP_MODERATION)
|
||||||
|
|
||||||
return (Tox_Event)-1; // TODO: add invalid event enum?
|
return Tox_Event_Type::TOX_EVENT_INVALID;
|
||||||
|
|
||||||
#undef CASE_E_TYPE
|
#undef CASE_E_TYPE
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr std::string_view tox_event_to_string(const Tox_Event e) {
|
// why do you exists?
|
||||||
#define CASE_E_TYPE(x) if (e == x) return #x;
|
static inline std::string_view tox_event_to_string(const Tox_Event_Type e) {
|
||||||
|
return tox_event_type_to_string(e);
|
||||||
CASE_E_TYPE(TOX_EVENT_SELF_CONNECTION_STATUS)
|
|
||||||
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FRIEND_REQUEST)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FRIEND_CONNECTION_STATUS)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FRIEND_LOSSY_PACKET)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FRIEND_LOSSLESS_PACKET)
|
|
||||||
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FRIEND_NAME)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FRIEND_STATUS)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FRIEND_STATUS_MESSAGE)
|
|
||||||
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FRIEND_MESSAGE)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FRIEND_READ_RECEIPT)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FRIEND_TYPING)
|
|
||||||
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FILE_CHUNK_REQUEST)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FILE_RECV)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FILE_RECV_CHUNK)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_FILE_RECV_CONTROL)
|
|
||||||
|
|
||||||
CASE_E_TYPE(TOX_EVENT_CONFERENCE_INVITE)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_CONFERENCE_CONNECTED)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_CONFERENCE_PEER_LIST_CHANGED)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_CONFERENCE_PEER_NAME)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_CONFERENCE_TITLE)
|
|
||||||
|
|
||||||
CASE_E_TYPE(TOX_EVENT_CONFERENCE_MESSAGE)
|
|
||||||
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_PEER_NAME)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_PEER_STATUS)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_TOPIC)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_PRIVACY_STATE)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_VOICE_STATE)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_TOPIC_LOCK)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_PEER_LIMIT)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_PASSWORD)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_MESSAGE)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_PRIVATE_MESSAGE)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_CUSTOM_PACKET)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_CUSTOM_PRIVATE_PACKET)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_INVITE)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_PEER_JOIN)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_PEER_EXIT)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_SELF_JOIN)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_JOIN_FAIL)
|
|
||||||
CASE_E_TYPE(TOX_EVENT_GROUP_MODERATION)
|
|
||||||
|
|
||||||
return "<unk>"; // TODO: add invalid event enum?
|
|
||||||
|
|
||||||
#undef CASE_E_TYPE
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ void ToxEventProviderBase::dispatchEvents(const Tox_Events* events) {
|
|||||||
#undef HANDLE_EVENT
|
#undef HANDLE_EVENT
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToxEventProviderBase::subscribe(ToxEventI* object, const Tox_Event event_type) {
|
void ToxEventProviderBase::subscribe(ToxEventI* object, const Tox_Event_Type event_type) {
|
||||||
_subscribers.at(event_type).push_back(object);
|
_subscribers.at(event_type).push_back(object);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ struct ToxEventProviderBase : public ToxEventProviderI {
|
|||||||
void dispatchEvents(const Tox_Events* events);
|
void dispatchEvents(const Tox_Events* events);
|
||||||
|
|
||||||
public: // event provider
|
public: // event provider
|
||||||
virtual void subscribe(ToxEventI* object, const Tox_Event event_type) override;
|
virtual void subscribe(ToxEventI* object, const Tox_Event_Type event_type) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::array<std::vector<ToxEventI*>, 39> _subscribers; // rn 39 event types
|
std::array<std::vector<ToxEventI*>, 39> _subscribers; // rn 39 event types
|
||||||
|
Loading…
Reference in New Issue
Block a user