Page MenuHomec4science

kerberos.cc
No OneTemporary

File Metadata

Created
Mon, Aug 19, 00:13

kerberos.cc

#include "kerberos.h"
#include <stdlib.h>
#include <tchar.h>
#include "base64.h"
#include "wrappers/security_buffer.h"
#include "wrappers/security_buffer_descriptor.h"
#include "wrappers/security_context.h"
#include "wrappers/security_credentials.h"
Persistent<FunctionTemplate> Kerberos::constructor_template;
// VException object (causes throw in calling code)
static Handle<Value> VException(const char *msg) {
HandleScope scope;
return ThrowException(Exception::Error(String::New(msg)));
}
Kerberos::Kerberos() : ObjectWrap() {
}
void Kerberos::Initialize(v8::Handle<v8::Object> target) {
// Grab the scope of the call from Node
HandleScope scope;
// Define a new function template
Local<FunctionTemplate> t = FunctionTemplate::New(Kerberos::New);
constructor_template = Persistent<FunctionTemplate>::New(t);
constructor_template->InstanceTemplate()->SetInternalFieldCount(1);
constructor_template->SetClassName(String::NewSymbol("Kerberos"));
// Set the symbol
target->ForceSet(String::NewSymbol("Kerberos"), constructor_template->GetFunction());
}
Handle<Value> Kerberos::New(const Arguments &args) {
// Load the security.dll library
load_library();
// Create a Kerberos instance
Kerberos *kerberos = new Kerberos();
// Return the kerberos object
kerberos->Wrap(args.This());
return args.This();
}
// Exporting function
extern "C" void init(Handle<Object> target) {
HandleScope scope;
Kerberos::Initialize(target);
SecurityContext::Initialize(target);
SecurityBuffer::Initialize(target);
SecurityBufferDescriptor::Initialize(target);
SecurityCredentials::Initialize(target);
}
NODE_MODULE(kerberos, init);

Event Timeline