// This is a generated file, modify: generate/templates/templates/struct_header.h #ifndef GITREMOTECALLBACKS_H #define GITREMOTECALLBACKS_H #include #include #include #include #include #include "async_baton.h" #include "callback_wrapper.h" #include "reference_counter.h" #include "nodegit_wrapper.h" extern "C" { #include } #include "../include/cred.h" #include "../include/cert.h" #include "../include/indexer_progress.h" #include "../include/buf.h" using namespace node; using namespace v8; class GitRemoteCallbacks; struct GitRemoteCallbacksTraits { typedef GitRemoteCallbacks cppClass; typedef git_remote_callbacks cType; static const bool isDuplicable = false; static void duplicate(git_remote_callbacks **dest, git_remote_callbacks *src) { Nan::ThrowError("duplicate called on GitRemoteCallbacks which cannot be duplicated"); } static const bool isSingleton = false; static const bool isFreeable = true; static void free(git_remote_callbacks *raw) { unsigned long referenceCount = 0; if (referenceCount == 0) { ::free(raw); // :: to avoid calling this free recursively } } }; class GitRemoteCallbacks : public NodeGitWrapper { // grant full access to base class friend class NodeGitWrapper; public: GitRemoteCallbacks(git_remote_callbacks* raw, bool selfFreeing, v8::Local owner = v8::Local()); static void InitializeComponent (v8::Local target); static int credentials_cppCallback ( git_cred ** cred , const char * url , const char * username_from_url , unsigned int allowed_types , void * payload ); static void credentials_async(void *baton); static void credentials_promiseCompleted(bool isFulfilled, AsyncBaton *_baton, v8::Local result); struct CredentialsBaton : public AsyncBatonWithResult { git_cred ** cred; const char * url; const char * username_from_url; unsigned int allowed_types; void * payload; CredentialsBaton(const int &defaultResult) : AsyncBatonWithResult(defaultResult) { } }; static GitRemoteCallbacks * credentials_getInstanceFromBaton ( CredentialsBaton *baton); static int certificate_check_cppCallback ( git_cert * cert , int valid , const char * host , void * payload ); static void certificate_check_async(void *baton); static void certificate_check_promiseCompleted(bool isFulfilled, AsyncBaton *_baton, v8::Local result); struct CertificateCheckBaton : public AsyncBatonWithResult { git_cert * cert; int valid; const char * host; void * payload; CertificateCheckBaton(const int &defaultResult) : AsyncBatonWithResult(defaultResult) { } }; static GitRemoteCallbacks * certificate_check_getInstanceFromBaton ( CertificateCheckBaton *baton); static int transfer_progress_cppCallback ( const git_indexer_progress * stats , void * payload ); static void transfer_progress_async(void *baton); static void transfer_progress_promiseCompleted(bool isFulfilled, AsyncBaton *_baton, v8::Local result); struct TransferProgressBaton : public AsyncBatonWithResult { const git_indexer_progress * stats; void * payload; TransferProgressBaton(const int &defaultResult) : AsyncBatonWithResult(defaultResult) { } }; static GitRemoteCallbacks * transfer_progress_getInstanceFromBaton ( TransferProgressBaton *baton); static int push_transfer_progress_cppCallback ( unsigned int current , unsigned int total , size_t bytes , void * payload ); static void push_transfer_progress_async(void *baton); static void push_transfer_progress_promiseCompleted(bool isFulfilled, AsyncBaton *_baton, v8::Local result); struct PushTransferProgressBaton : public AsyncBatonWithResult { unsigned int current; unsigned int total; size_t bytes; void * payload; PushTransferProgressBaton(const int &defaultResult) : AsyncBatonWithResult(defaultResult) { } }; static GitRemoteCallbacks * push_transfer_progress_getInstanceFromBaton ( PushTransferProgressBaton *baton); static int push_update_reference_cppCallback ( const char * refname , const char * status , void * data ); static void push_update_reference_async(void *baton); static void push_update_reference_promiseCompleted(bool isFulfilled, AsyncBaton *_baton, v8::Local result); struct PushUpdateReferenceBaton : public AsyncBatonWithResult { const char * refname; const char * status; void * data; PushUpdateReferenceBaton(const int &defaultResult) : AsyncBatonWithResult(defaultResult) { } }; static GitRemoteCallbacks * push_update_reference_getInstanceFromBaton ( PushUpdateReferenceBaton *baton); static int resolve_url_cppCallback ( git_buf * url_resolved , const char * url , int direction , void * payload ); static void resolve_url_async(void *baton); static void resolve_url_promiseCompleted(bool isFulfilled, AsyncBaton *_baton, v8::Local result); struct ResolveUrlBaton : public AsyncBatonWithResult { git_buf * url_resolved; const char * url; int direction; void * payload; ResolveUrlBaton(const int &defaultResult) : AsyncBatonWithResult(defaultResult) { } }; static GitRemoteCallbacks * resolve_url_getInstanceFromBaton ( ResolveUrlBaton *baton); private: GitRemoteCallbacks(); ~GitRemoteCallbacks(); void ConstructFields(); static NAN_GETTER(GetVersion); static NAN_SETTER(SetVersion); CallbackWrapper credentials; static NAN_GETTER(GetCredentials); static NAN_SETTER(SetCredentials); CallbackWrapper certificate_check; static NAN_GETTER(GetCertificateCheck); static NAN_SETTER(SetCertificateCheck); CallbackWrapper transfer_progress; static NAN_GETTER(GetTransferProgress); static NAN_SETTER(SetTransferProgress); CallbackWrapper push_transfer_progress; static NAN_GETTER(GetPushTransferProgress); static NAN_SETTER(SetPushTransferProgress); CallbackWrapper push_update_reference; static NAN_GETTER(GetPushUpdateReference); static NAN_SETTER(SetPushUpdateReference); Nan::Persistent payload; static NAN_GETTER(GetPayload); static NAN_SETTER(SetPayload); CallbackWrapper resolve_url; static NAN_GETTER(GetResolveUrl); static NAN_SETTER(SetResolveUrl); }; #endif