// This is a generated file, modify: generate/templates/templates/class_header.h #ifndef GITCONFIG_H #define GITCONFIG_H #include #include #include #include #include #include #include "async_baton.h" #include "nodegit_wrapper.h" #include "promise_completion.h" #include "reference_counter.h" extern "C" { #include } #include "../include/typedefs.h" #include "../include/git_buf_converter.h" #include "../include/buf.h" #include "../include/config_entry.h" #include "../include/transaction.h" // Forward declaration. struct git_config { }; using namespace node; using namespace v8; class GitConfig; struct GitConfigTraits { typedef GitConfig cppClass; typedef git_config cType; static const bool isDuplicable = false; static void duplicate(git_config **dest, git_config *src) { Nan::ThrowError("duplicate called on GitConfig which cannot be duplicated"); } static const bool isSingleton = false; static const bool isFreeable = true; static void free(git_config *raw) { unsigned long referenceCount = 0; if (referenceCount == 0) { ::git_config_free(raw); // :: to avoid calling this free recursively } } }; class GitConfig : public NodeGitWrapper { // grant full access to base class friend class NodeGitWrapper; public: static void InitializeComponent (v8::Local target); private: GitConfig() : NodeGitWrapper( "A new GitConfig cannot be instantiated." ) {} GitConfig(git_config *raw, bool selfFreeing, v8::Local owner = v8::Local()) : NodeGitWrapper(raw, selfFreeing, owner) {} ~GitConfig(); static NAN_METHOD(DeleteEntry); static NAN_METHOD(DeleteMultivar); struct FindGlobalBaton { int error_code; const git_error* error; git_buf * out; }; class FindGlobalWorker : public Nan::AsyncWorker { public: FindGlobalWorker( FindGlobalBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~FindGlobalWorker() {}; void Execute(); void HandleOKCallback(); private: FindGlobalBaton *baton; }; static NAN_METHOD(FindGlobal); struct FindProgramdataBaton { int error_code; const git_error* error; git_buf * out; }; class FindProgramdataWorker : public Nan::AsyncWorker { public: FindProgramdataWorker( FindProgramdataBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~FindProgramdataWorker() {}; void Execute(); void HandleOKCallback(); private: FindProgramdataBaton *baton; }; static NAN_METHOD(FindProgramdata); struct FindSystemBaton { int error_code; const git_error* error; git_buf * out; }; class FindSystemWorker : public Nan::AsyncWorker { public: FindSystemWorker( FindSystemBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~FindSystemWorker() {}; void Execute(); void HandleOKCallback(); private: FindSystemBaton *baton; }; static NAN_METHOD(FindSystem); struct FindXdgBaton { int error_code; const git_error* error; git_buf * out; }; class FindXdgWorker : public Nan::AsyncWorker { public: FindXdgWorker( FindXdgBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~FindXdgWorker() {}; void Execute(); void HandleOKCallback(); private: FindXdgBaton *baton; }; static NAN_METHOD(FindXdg); struct GetBoolBaton { int error_code; const git_error* error; int * out; const git_config * cfg; const char * name; }; class GetBoolWorker : public Nan::AsyncWorker { public: GetBoolWorker( GetBoolBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~GetBoolWorker() {}; void Execute(); void HandleOKCallback(); private: GetBoolBaton *baton; }; static NAN_METHOD(GetBool); struct GetEntryBaton { int error_code; const git_error* error; git_config_entry * out; const git_config * cfg; const char * name; }; class GetEntryWorker : public Nan::AsyncWorker { public: GetEntryWorker( GetEntryBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~GetEntryWorker() {}; void Execute(); void HandleOKCallback(); private: GetEntryBaton *baton; }; static NAN_METHOD(GetEntry); struct GetInt32Baton { int error_code; const git_error* error; int32_t * out; const git_config * cfg; const char * name; }; class GetInt32Worker : public Nan::AsyncWorker { public: GetInt32Worker( GetInt32Baton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~GetInt32Worker() {}; void Execute(); void HandleOKCallback(); private: GetInt32Baton *baton; }; static NAN_METHOD(GetInt32); struct GetInt64Baton { int error_code; const git_error* error; int64_t * out; const git_config * cfg; const char * name; }; class GetInt64Worker : public Nan::AsyncWorker { public: GetInt64Worker( GetInt64Baton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~GetInt64Worker() {}; void Execute(); void HandleOKCallback(); private: GetInt64Baton *baton; }; static NAN_METHOD(GetInt64); struct GetPathBaton { int error_code; const git_error* error; git_buf * out; const git_config * cfg; const char * name; }; class GetPathWorker : public Nan::AsyncWorker { public: GetPathWorker( GetPathBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~GetPathWorker() {}; void Execute(); void HandleOKCallback(); private: GetPathBaton *baton; }; static NAN_METHOD(GetPath); struct GetStringBufBaton { int error_code; const git_error* error; git_buf * out; const git_config * cfg; const char * name; }; class GetStringBufWorker : public Nan::AsyncWorker { public: GetStringBufWorker( GetStringBufBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~GetStringBufWorker() {}; void Execute(); void HandleOKCallback(); private: GetStringBufBaton *baton; }; static NAN_METHOD(GetStringBuf); struct LockBaton { int error_code; const git_error* error; git_transaction * tx; git_config * cfg; }; class LockWorker : public Nan::AsyncWorker { public: LockWorker( LockBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~LockWorker() {}; void Execute(); void HandleOKCallback(); private: LockBaton *baton; }; static NAN_METHOD(Lock); struct OpenDefaultBaton { int error_code; const git_error* error; git_config * out; }; class OpenDefaultWorker : public Nan::AsyncWorker { public: OpenDefaultWorker( OpenDefaultBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~OpenDefaultWorker() {}; void Execute(); void HandleOKCallback(); private: OpenDefaultBaton *baton; }; static NAN_METHOD(OpenDefault); struct OpenOndiskBaton { int error_code; const git_error* error; git_config * out; const char * path; }; class OpenOndiskWorker : public Nan::AsyncWorker { public: OpenOndiskWorker( OpenOndiskBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~OpenOndiskWorker() {}; void Execute(); void HandleOKCallback(); private: OpenOndiskBaton *baton; }; static NAN_METHOD(OpenOndisk); struct SetBoolBaton { int error_code; const git_error* error; git_config * cfg; const char * name; int value; }; class SetBoolWorker : public Nan::AsyncWorker { public: SetBoolWorker( SetBoolBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~SetBoolWorker() {}; void Execute(); void HandleOKCallback(); private: SetBoolBaton *baton; }; static NAN_METHOD(SetBool); struct SetInt32Baton { int error_code; const git_error* error; git_config * cfg; const char * name; int32_t value; }; class SetInt32Worker : public Nan::AsyncWorker { public: SetInt32Worker( SetInt32Baton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~SetInt32Worker() {}; void Execute(); void HandleOKCallback(); private: SetInt32Baton *baton; }; static NAN_METHOD(SetInt32); struct SetInt64Baton { int error_code; const git_error* error; git_config * cfg; const char * name; int64_t value; }; class SetInt64Worker : public Nan::AsyncWorker { public: SetInt64Worker( SetInt64Baton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~SetInt64Worker() {}; void Execute(); void HandleOKCallback(); private: SetInt64Baton *baton; }; static NAN_METHOD(SetInt64); struct SetMultivarBaton { int error_code; const git_error* error; git_config * cfg; const char * name; const char * regexp; const char * value; }; class SetMultivarWorker : public Nan::AsyncWorker { public: SetMultivarWorker( SetMultivarBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~SetMultivarWorker() {}; void Execute(); void HandleOKCallback(); private: SetMultivarBaton *baton; }; static NAN_METHOD(SetMultivar); struct SetStringBaton { int error_code; const git_error* error; git_config * cfg; const char * name; const char * value; }; class SetStringWorker : public Nan::AsyncWorker { public: SetStringWorker( SetStringBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~SetStringWorker() {}; void Execute(); void HandleOKCallback(); private: SetStringBaton *baton; }; static NAN_METHOD(SetString); struct SnapshotBaton { int error_code; const git_error* error; git_config * out; git_config * config; }; class SnapshotWorker : public Nan::AsyncWorker { public: SnapshotWorker( SnapshotBaton *_baton, Nan::Callback *callback ) : Nan::AsyncWorker(callback) , baton(_baton) {}; ~SnapshotWorker() {}; void Execute(); void HandleOKCallback(); private: SnapshotBaton *baton; }; static NAN_METHOD(Snapshot); }; #endif