123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #ifndef SECURITY_BUFFER_H
- #define SECURITY_BUFFER_H
- #include <node.h>
- #include <node_object_wrap.h>
- #include <v8.h>
- #define SECURITY_WIN32 1
- #include <winsock2.h>
- #include <windows.h>
- #include <sspi.h>
- #include <nan.h>
- using namespace v8;
- using namespace node;
- class SecurityBuffer : public Nan::ObjectWrap {
- public:
- SecurityBuffer(uint32_t security_type, size_t size);
- SecurityBuffer(uint32_t security_type, size_t size, void *data);
- ~SecurityBuffer();
- // Internal values
- void *data;
- size_t size;
- uint32_t security_type;
- SecBuffer sec_buffer;
- // Has instance check
- static inline bool HasInstance(Local<Value> val) {
- if (!val->IsObject()) return false;
- Local<Object> obj = val->ToObject();
- return Nan::New(constructor_template)->HasInstance(obj);
- };
- // Functions available from V8
- static void Initialize(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE target);
- static NAN_METHOD(ToBuffer);
- // Constructor used for creating new Long objects from C++
- static Nan::Persistent<FunctionTemplate> constructor_template;
- private:
- static NAN_METHOD(New);
- };
- #endif
|