#ifndef GITCHECKOUT_H
#define GITCHECKOUT_H

#include <nan.h>
#include <string>

extern "C" {
#include <git2.h>
}

#include "../include/functions/copy.h"
#include "../include/checkout.h"
#include "../include/checkout_options.h"
#include "../include/repository.h"
#include "../include/index.h"
#include "../include/object.h"
#include "../include/checkout_options.h"
#include "../include/repository.h"
#include "../include/index.h"


using namespace node;
using namespace v8;

class GitCheckout : public ObjectWrap {
  public:

    static Persistent<Function> constructor_template;
    static void Initialize (Handle<v8::Object> target);

    
  private:
    
    static NAN_METHOD(New);

    
                  
    static NAN_METHOD(InitOptions);
                        
    static NAN_METHOD(Head);
                        
    static NAN_METHOD(Index);
                        
    static NAN_METHOD(Tree);
          
    };

#endif
