// Generated by Haxe 4.3.3
#ifndef INCLUDED_borogove_Client
#define INCLUDED_borogove_Client
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
#ifndef INCLUDED_borogove_EventEmitter
#include <borogove/EventEmitter.h>
#endif
HX_DECLARE_CLASS1(borogove,AttachmentSource)
HX_DECLARE_CLASS1(borogove,AvailableChat)
HX_DECLARE_CLASS1(borogove,Caps)
HX_DECLARE_CLASS1(borogove,Chat)
HX_DECLARE_CLASS1(borogove,ChatAttachment)
HX_DECLARE_CLASS1(borogove,ChatMessage)
HX_DECLARE_CLASS1(borogove,Client)
HX_DECLARE_CLASS1(borogove,DirectChat)
HX_DECLARE_CLASS1(borogove,EncryptionInfo)
HX_DECLARE_CLASS1(borogove,EncryptionPolicy)
HX_DECLARE_CLASS1(borogove,EventEmitter)
HX_DECLARE_CLASS1(borogove,EventResult)
HX_DECLARE_CLASS1(borogove,GenericStream)
HX_DECLARE_CLASS1(borogove,Hash)
HX_DECLARE_CLASS1(borogove,JID)
HX_DECLARE_CLASS1(borogove,ModerationAction)
HX_DECLARE_CLASS1(borogove,Persistence)
HX_DECLARE_CLASS1(borogove,ProfileBuilder)
HX_DECLARE_CLASS1(borogove,Stanza)
HX_DECLARE_CLASS2(borogove,calls,InitiatedSession)
HX_DECLARE_CLASS2(borogove,calls,MediaStream)
HX_DECLARE_CLASS2(borogove,calls,MediaStreamTrack)
HX_DECLARE_CLASS2(borogove,calls,Session)
HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
HX_DECLARE_CLASS1(thenshim,Thenable)
namespace borogove{
class HXCPP_CLASS_ATTRIBUTES Client_obj : public ::borogove::EventEmitter_obj
{
public:
typedef ::borogove::EventEmitter_obj super;
typedef Client_obj OBJ_;
Client_obj();
public:
enum { _hx_ClassId = 0x6f478c0c };
void __construct(::String accountId,::Dynamic persistence);
inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Client")
{ return ::hx::Object::operator new(inSize,inContainer,inName); }
inline void *operator new(size_t inSize, int extra)
{ return ::hx::Object::operator new(inSize+extra,true,"borogove.Client"); }
static ::hx::ObjectPtr< Client_obj > __new(::String accountId,::Dynamic persistence);
static ::hx::ObjectPtr< Client_obj > __alloc(::hx::Ctx *_hx_ctx,::String accountId,::Dynamic persistence);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
//~Client_obj();
HX_DO_RTTI_ALL;
::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
void __GetFields(Array< ::String> &outFields);
static void __register();
void __Mark(HX_MARK_PARAMS);
void __Visit(HX_VISIT_PARAMS);
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("Client",6b,3e,e4,3e); }
static void __boot();
static ::Dynamic __meta__;
bool sendAvailable;
void set_sendAvailable__fromC(bool value);
::Dynamic set_sendAvailable__fromC_dyn();
::borogove::GenericStream stream;
::borogove::JID jid;
::Array< ::Dynamic> chats;
::Dynamic persistence;
::borogove::Caps caps;
::String _displayName;
::String fastMechanism;
::String token;
::Dynamic fastCount;
::haxe::ds::StringMap pendingCaps;
::borogove::EncryptionPolicy encryptionPolicy;
bool inSync;
void processLiveMessage( ::borogove::Stanza stanza, ::borogove::Stanza fwd, ::borogove::EncryptionInfo encryptionInfo);
::Dynamic processLiveMessage_dyn();
void start();
::Dynamic start_dyn();
::Dynamic startOffline();
::Dynamic startOffline_dyn();
void startOffline__fromC(::cpp::Function< void (bool,void*) > handler,void* handler__context);
void logout(bool completely);
::Dynamic logout_dyn();
void usePassword(::String password);
::Dynamic usePassword_dyn();
::String accountId();
::Dynamic accountId_dyn();
::String displayName();
::Dynamic displayName_dyn();
void setProfile( ::borogove::ProfileBuilder profile,bool publicAccess);
::Dynamic setProfile_dyn();
bool updateDisplayName(::String fn);
::Dynamic updateDisplayName_dyn();
::borogove::EventResult onConnected( ::Dynamic data);
::Dynamic onConnected_dyn();
::Dynamic prepareAttachment( ::borogove::AttachmentSource source);
::Dynamic prepareAttachment_dyn();
void prepareAttachment__fromC( ::borogove::AttachmentSource source,::cpp::Function< void (void*,void*) > handler,void* handler__context);
void prepareAttachmentFor( ::borogove::AttachmentSource source,::Array< ::Dynamic> services,::Array< ::Dynamic> hashes, ::Dynamic callback);
::Dynamic prepareAttachmentFor_dyn();
::Array< ::Dynamic> getChats();
::Dynamic getChats_dyn();
size_t getChats__fromC(void*** outPtr);
void findAvailableChats(::String q, ::Dynamic callback);
::Dynamic findAvailableChats_dyn();
void findAvailableChats__fromC(::String q,::cpp::Function< bool (const char*,void**,size_t,void*) > callback,void* callback__context);
::borogove::Chat startChat( ::borogove::AvailableChat availableChat);
::Dynamic startChat_dyn();
::borogove::Chat getChat(::String chatId);
::Dynamic getChat_dyn();
::Dynamic moderateMessage( ::borogove::ModerationAction action);
::Dynamic moderateMessage_dyn();
::borogove::DirectChat getDirectChat(::String chatId,::hx::Null< bool > triggerIfNew);
::Dynamic getDirectChat_dyn();
::Dynamic enabledPushData;
void enablePush(::String push_service,::String endpoint,::Array< unsigned char > p256dh,::Array< unsigned char > auth,int grace,::Array< unsigned char > vapid_private_pkcs8,::Array< ::String > claims);
::Dynamic enablePush_dyn();
void enablePush__fromC(::String push_service,::String endpoint,::cpp::Pointer< unsigned char > p256dh,size_t p256dh__len,::cpp::Pointer< unsigned char > auth,size_t auth__len,int grace,::cpp::Pointer< unsigned char > vapid_private_pkcs8,size_t vapid_private_pkcs8__len,::cpp::Pointer< const char* > claims,size_t claims__len);
::Dynamic enablePush__fromC_dyn();
void updatePushIfEnabled();
::Dynamic updatePushIfEnabled_dyn();
int addPasswordNeededListener( ::Dynamic handler);
::Dynamic addPasswordNeededListener_dyn();
int addPasswordNeededListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
int addStatusOnlineListener( ::Dynamic handler);
::Dynamic addStatusOnlineListener_dyn();
int addStatusOnlineListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context);
int addStatusOfflineListener( ::Dynamic handler);
::Dynamic addStatusOfflineListener_dyn();
int addStatusOfflineListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context);
int addConnectionFailedListener( ::Dynamic handler);
::Dynamic addConnectionFailedListener_dyn();
int addConnectionFailedListener__fromC(::cpp::Function< void (void*) > handler,void* handler__context);
int addTlsCheckListener( ::Dynamic handler);
::Dynamic addTlsCheckListener_dyn();
int addTlsCheckListener__fromC(::cpp::Function< bool (const char*,const char**,size_t,void*) > handler,void* handler__context);
int addChatMessageListener( ::Dynamic handler);
::Dynamic addChatMessageListener_dyn();
int addChatMessageListener__fromC(::cpp::Function< void (void*,int,void*) > handler,void* handler__context);
int addSyncMessageListener( ::Dynamic handler);
::Dynamic addSyncMessageListener_dyn();
int addSyncMessageListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
int addChatsUpdatedListener( ::Dynamic handler);
::Dynamic addChatsUpdatedListener_dyn();
int addChatsUpdatedListener__fromC(::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context);
int addCallRingListener( ::Dynamic handler);
::Dynamic addCallRingListener_dyn();
int addCallRingListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
int addCallRetractListener( ::Dynamic handler);
::Dynamic addCallRetractListener_dyn();
int addCallRetractListener__fromC(::cpp::Function< void (const char*,const char*,void*) > handler,void* handler__context);
int addCallRingingListener( ::Dynamic handler);
::Dynamic addCallRingingListener_dyn();
int addCallRingingListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
int addCallUpdateStatusListener( ::Dynamic handler);
::Dynamic addCallUpdateStatusListener_dyn();
int addCallUpdateStatusListener__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
int addCallMediaListener( ::Dynamic handler);
::Dynamic addCallMediaListener_dyn();
int addCallMediaListener__fromC(::cpp::Function< void (void*,bool,bool,void*) > handler,void* handler__context);
int addCallTrackListener( ::Dynamic handler);
::Dynamic addCallTrackListener_dyn();
int addCallTrackListener__fromC(::cpp::Function< void (void*,void*,void**,size_t,void*) > handler,void* handler__context);
void setInForeground();
::Dynamic setInForeground_dyn();
void setNotInForeground();
::Dynamic setNotInForeground_dyn();
::Dynamic fetchMediaByHash(::Array< ::Dynamic> hashes,::Array< ::Dynamic> counterparts);
::Dynamic fetchMediaByHash_dyn();
::Dynamic fetchMediaByHashOneCounterpart(::Array< ::Dynamic> hashes, ::borogove::JID counterpart);
::Dynamic fetchMediaByHashOneCounterpart_dyn();
void chatActivity( ::borogove::Chat chat,::hx::Null< bool > trigger);
::Dynamic chatActivity_dyn();
void sortChats();
::Dynamic sortChats_dyn();
::Dynamic storeMessages(::Array< ::Dynamic> messages);
::Dynamic storeMessages_dyn();
void sendQuery( ::borogove::queries::GenericQuery query);
::Dynamic sendQuery_dyn();
void publishWithOptions( ::borogove::Stanza stanza, ::borogove::Stanza options);
::Dynamic publishWithOptions_dyn();
void sendStanza( ::borogove::Stanza stanza);
::Dynamic sendStanza_dyn();
void sendPresence(::String to, ::Dynamic augment);
::Dynamic sendPresence_dyn();
void getIceServers( ::Dynamic callback);
::Dynamic getIceServers_dyn();
void discoverServices( ::borogove::JID target,::String node, ::Dynamic callback);
::Dynamic discoverServices_dyn();
void notifyMessageHandlers( ::borogove::ChatMessage message,int event);
::Dynamic notifyMessageHandlers_dyn();
void notifySyncMessageHandlers( ::borogove::ChatMessage message);
::Dynamic notifySyncMessageHandlers_dyn();
void rosterGet();
::Dynamic rosterGet_dyn();
void startChatWith(::String jid, ::Dynamic handleCaps, ::Dynamic handleChat);
::Dynamic startChatWith_dyn();
void mucInvite(::String chatId, ::borogove::Chat chat,::String senderId,::String threadId,::String serverId,::String serverIdBy,::String reason,::String password);
::Dynamic mucInvite_dyn();
void serverBlocked(::String blocked);
::Dynamic serverBlocked_dyn();
void bookmarksGet( ::Dynamic callback);
::Dynamic bookmarksGet_dyn();
void sync( ::Dynamic callback);
::Dynamic sync_dyn();
void onMAMJMI(::String sid, ::borogove::Stanza stanza);
::Dynamic onMAMJMI_dyn();
void doSync( ::Dynamic callback,::String lastId);
::Dynamic doSync_dyn();
void pingAllChannels(bool refresh);
::Dynamic pingAllChannels_dyn();
void joinAllChannels();
::Dynamic joinAllChannels_dyn();
};
} // end namespace borogove
#endif /* INCLUDED_borogove_Client */