Files
huishou/node_modules/nodegit/include/checkout.h
T
2026-07-27 13:37:48 +08:00

115 lines
2.4 KiB
C++

// This is a generated file, modify: generate/templates/templates/class_header.h
#ifndef GITCHECKOUT_H
#define GITCHECKOUT_H
#include <nan.h>
#include <string>
#include <queue>
#include <utility>
#include <unordered_map>
#include <sstream>
#include "async_baton.h"
#include "nodegit_wrapper.h"
#include "promise_completion.h"
#include "reference_counter.h"
extern "C" {
#include <git2.h>
}
#include "../include/typedefs.h"
#include "../include/repository.h"
#include "../include/checkout_options.h"
#include "../include/index.h"
#include "../include/object.h"
using namespace node;
using namespace v8;
class GitCheckout : public
Nan::ObjectWrap
{
public:
static void InitializeComponent (v8::Local<v8::Object> target);
private:
struct HeadBaton {
int error_code;
const git_error* error;
git_repository * repo;
const git_checkout_options * opts;
};
class HeadWorker : public Nan::AsyncWorker {
public:
HeadWorker(
HeadBaton *_baton,
Nan::Callback *callback
) : Nan::AsyncWorker(callback)
, baton(_baton) {};
~HeadWorker() {};
void Execute();
void HandleOKCallback();
private:
HeadBaton *baton;
};
static NAN_METHOD(Head);
struct IndexBaton {
int error_code;
const git_error* error;
git_repository * repo;
git_index * index;
const git_checkout_options * opts;
};
class IndexWorker : public Nan::AsyncWorker {
public:
IndexWorker(
IndexBaton *_baton,
Nan::Callback *callback
) : Nan::AsyncWorker(callback)
, baton(_baton) {};
~IndexWorker() {};
void Execute();
void HandleOKCallback();
private:
IndexBaton *baton;
};
static NAN_METHOD(Index);
struct TreeBaton {
int error_code;
const git_error* error;
git_repository * repo;
const git_object * treeish;
const git_checkout_options * opts;
};
class TreeWorker : public Nan::AsyncWorker {
public:
TreeWorker(
TreeBaton *_baton,
Nan::Callback *callback
) : Nan::AsyncWorker(callback)
, baton(_baton) {};
~TreeWorker() {};
void Execute();
void HandleOKCallback();
private:
TreeBaton *baton;
};
static NAN_METHOD(Tree);
};
#endif