/* this file has been autogenerated by vtkNodeJsWrap */
/* editing this might proof futile */

#ifndef NATIVE_EXTENSION_VTK_VTKSQLDATABASESCHEMAWRAP_H
#define NATIVE_EXTENSION_VTK_VTKSQLDATABASESCHEMAWRAP_H

#include <nan.h>

#include <vtkSmartPointer.h>
#include <vtkSQLDatabaseSchema.h>

#include "vtkObjectWrap.h"
#include "../../plus/plus.h"

class VtkSQLDatabaseSchemaWrap : public VtkObjectWrap
{
	public:
		using Nan::ObjectWrap::Wrap;
		static void Init(v8::Local<v8::Object> exports);
		static void InitPtpl();
		static void ConstructorGetter(
			v8::Local<v8::String> property,
			const Nan::PropertyCallbackInfo<v8::Value>& info);

		VtkSQLDatabaseSchemaWrap(vtkSmartPointer<vtkSQLDatabaseSchema>);
		VtkSQLDatabaseSchemaWrap();
		~VtkSQLDatabaseSchemaWrap( );
		static Nan::Persistent<v8::FunctionTemplate> ptpl;

	private:
		static void New(const Nan::FunctionCallbackInfo<v8::Value>& info);

		static void AddColumnToIndex(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void AddColumnToTable(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void AddIndexToTable(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void AddOptionToTable(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void AddPreamble(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void AddTable(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void AddTableMultipleArguments(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void AddTriggerToTable(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetClassName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetColumnAttributesFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetColumnHandleFromName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetColumnNameFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetColumnSizeFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetColumnTypeFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetIndexColumnNameFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetIndexHandleFromName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetIndexNameFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetIndexTypeFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfColumnNamesInIndex(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfColumnsInTable(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfIndicesInTable(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfOptionsInTable(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfPreambles(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfTables(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfTriggersInTable(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetOptionBackendFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetOptionTextFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPreambleActionFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPreambleBackendFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPreambleHandleFromName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPreambleNameFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTableHandleFromName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTableNameFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTriggerActionFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTriggerBackendFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTriggerHandleFromName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTriggerNameFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTriggerTypeFromHandle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void IsA(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NewInstance(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void Reset(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SafeDownCast(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetName(const Nan::FunctionCallbackInfo<v8::Value>& info);

#ifdef VTK_NODE_PLUS_VTKSQLDATABASESCHEMAWRAP_CLASSDEF
		VTK_NODE_PLUS_VTKSQLDATABASESCHEMAWRAP_CLASSDEF
#endif
};

#endif
