Files
SuperScriptMaterializer/materializer/DataTypes.hpp

225 lines
4.1 KiB
C++

#pragma once
#include "stdafx.hpp"
namespace VSW::Materializer::DataTypes {
namespace Script {
struct Table_script {
CK_ID thisobj;
std::string host_name;
int index;
CK_ID behavior;
};
struct Table_behavior {
CK_ID thisobj;
std::string name;
CK_BEHAVIOR_TYPE type;
std::string proto_name;
std::string proto_guid;
CK_BEHAVIOR_FLAGS flags;
int priority;
CKDWORD version;
//pTarget, pIn, pOut, bIn, bOut
std::string pin_count;
CK_ID parent;
};
struct Table_bIO {
CK_ID thisobj;
int index;
std::string name;
CK_ID parent;
};
struct Table_bIn : public Table_bIO {};
struct Table_bOut : public Table_bIO {};
struct Table_pTarget {
CK_ID thisobj;
std::string name;
std::string type;
std::string type_guid;
CK_ID parent;
CK_ID direct_source;
CK_ID shared_source;
};
struct Table_pIn {
CK_ID thisobj;
int index;
std::string name;
std::string type;
std::string type_guid;
CK_ID parent;
CK_ID direct_source;
CK_ID shared_source;
};
struct Table_pOut {
CK_ID thisobj;
int index;
std::string name;
std::string type;
std::string type_guid;
CK_ID parent;
};
struct Table_bLink {
CK_ID input;
CK_ID output;
int delay;
CK_ID parent;
// additional field
CK_ID input_obj;
bLinkInputOutputType input_type;
int input_index;
CK_ID output_obj;
bLinkInputOutputType output_type;
int output_index;
};
struct Table_pLocal {
CK_ID thisobj;
std::string name;
std::string type;
std::string type_guid;
BOOL is_setting;
CK_ID parent;
};
struct Table_pAttr {
CK_ID thisobj;
std::string name;
std::string type;
std::string type_guid;
};
struct Table_pLink {
CK_ID input;
CK_ID output;
CK_ID parent;
//additional field
CK_ID input_obj;
pLinkInputOutputType input_type;
BOOL input_is_bb;
int input_index;
CK_ID output_obj;
pLinkInputOutputType output_type;
BOOL output_is_bb;
int output_index;
};
struct Table_pOper {
CK_ID thisobj;
std::string op;
std::string op_guid;
CK_ID parent;
};
struct Table_eLink {
CK_ID export_obj;
CK_ID internal_obj;
BOOL is_in;
int index;
CK_ID parent;
};
struct Table_data {
std::string field;
std::string data;
CK_ID parent;
};
}
namespace Context {
struct Table_msg {
CKMessageType index;
std::string name;
};
struct Table_obj {
CK_ID id;
std::string name;
CK_CLASSID classid;
std::string classtype;
};
}
namespace Environment {
struct Table_op {
CK_PARAMETEROPERATION funcPtr;
std::string in1_guid;
std::string in2_guid;
std::string out_guid;
std::string op_guid;
std::string op_name;
CKOperationType op_code;
};
struct Table_param {
CKParameterType index;
std::string guid;
std::string derived_from;
std::string type_name;
int default_size;
CK_PARAMETERCREATEDEFAULTFUNCTION func_CreateDefault;
CK_PARAMETERDELETEFUNCTION func_Delete;
CK_PARAMETERSAVELOADFUNCTION func_SaveLoad;
CK_PARAMETERCHECKFUNCTION func_Check;
CK_PARAMETERCOPYFUNCTION func_Copy;
CK_PARAMETERSTRINGFUNCTION func_String;
CK_PARAMETERUICREATORFUNCTION func_UICreator;
int creator_dll_index;
int creator_plugin_index;
CKDWORD dw_param;
CKDWORD dw_flags;
CKDWORD cid;
std::string saver_manager;
};
struct Table_attr {
CKAttributeType index;
std::string name;
CKAttributeCategory category_index;
std::string category_name;
CK_ATTRIBUT_FLAGS flags;
CKParameterType param_index;
CK_CLASSID compatible_classid;
std::string default_value;
};
struct Table_plugin {
int dll_index;
std::string dll_name;
int plugin_index;
std::string category;
CKBOOL active;
std::string guid;
std::string desc;
std::string author;
std::string summary;
DWORD version;
CK_INITINSTANCEFCT func_init;
CK_EXITINSTANCEFCT func_exit;
};
struct Table_variable {
std::string name;
std::string desciption;
XWORD flags;
UNIVERSAL_VAR_TYPE type;
std::string representation;
std::string data;
};
}
}