Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum DBScanner_ObjectDataStruct {
- DBScanner_ObjectDataStruct_Type = 0,
- DBScanner_ObjectDataStruct_Name,
- DBScanner_ObjectDataStruct_SizeOfName,
- DBScanner_ObjectDataStruct_SQL,
- DBScanner_ObjectDataStruct_SizeOfSQL,
- DBScanner_ObjectDataStruct_Table,
- DBScanner_ObjectDataStruct_SQLResultType,
- DBScanner_ObjectDataStruct_RootPage,
- }
- enum DBScanner_TableDataStruct {
- //as we "inherit" data from DBObject, we need to make space for the already existing objects
- DBScanner_TableDataStruct_Columns = DBScanner_ObjectDataStruct,
- }
- methodmap DBTable < DBObject {
- public DBTable(DBObject h_object, ArrayList h_colums)
- {
- ResizeArray(h_object, DBScanner_TableDataStruct);
- SetArrayCell(h_object, DBScanner_TableDataStruct_Columns, h_columns);
- return h_object;
- }
- property int m_iNOfColumns
- {
- public get() { return GetArraySize(GetArrayCell(this, DBScanner_TableDataStruct_Columns)); }
- }
- property int m_hColumns
- {
- public get() { return GetArrayCell(this, DBScanner_TableDataStruct_Columns); }
- }
- }
- methodmap DBObject < ArrayList {
- public DBObject(DBScanner_ObjectType i_type,
- const char[] s_name,
- int i_sizeof_name,
- DBTable h_table,
- const char[] s_sql,
- int i_sizeof_sql,
- DBResult i_sql_field_fetch_result,
- int i_rootpage)
- {
- int i_size = i_sizeof_name >= i_sizeof_sql ? i_sizeof_name : i_sizeof_sql;
- Handle h_props = CreateArray(ByteCountToCells(i_size), view_as<int>(DBScanner_ObjectDataStruct))); // :TODO: check if this is really ``size + 1``
- SetArrayCell( h_props, DBScanner_ObjectDataStruct_Type, i_type );
- SetArrayString( h_props, DBScanner_ObjectDataStruct_Name, s_name );
- SetArrayCell( h_props, DBScanner_ObjectDataStruct_SizeOfName, i_sizeof_name );
- SetArrayCell( h_props, DBScanner_ObjectDataStruct_Table, h_table );
- SetArrayString( h_props, DBScanner_ObjectDataStruct_SQL, s_sql );
- SetArrayCell( h_props, DBScanner_ObjectDataStruct_SizeOfSQL, i_sizeof_sql );
- SetArrayCell( h_props, DBScanner_ObjectDataStruct_RootPage, i_rootpage );
- SetArrayCell( h_props, DBScanner_ObjectDataStruct_SQLResultType, i_sql_field_fetch_result);
- return view_as<DBObject>(h_props);
- }
- property DBScanner_ObjectType m_iType
- {
- public get() { return GetArrayCell(this, DBScanner_ObjectDataStruct_Type); }
- }
- property int m_iSizeOfName
- {
- public get() { GetArrayCell(this, DBScanner_ObjectDataStruct_SizeOfName); }
- }
- public int GetName(char[] s_buffer, int i_sizeof_buffer)
- {
- return GetArrayString(this, DBScanner_ObjectDataStruct_Name, i_sizeof_buffer);
- }
- property int m_iSizeOfTableName
- {
- public get()
- {
- DBTable h_table = GetArrayCell(this, DBScanner_ObjectDataStruct_Table);
- return GetArrayCell(h_table, DBScanner_ObjectDataStruct_SizeOfName);
- }
- }
- public int GetTableName(char[] s_buffer, int i_sizeof_buffer)
- {
- DBTable h_table = GetArrayCell(this, DBScanner_ObjectDataStruct_Table);
- return GetArrayString(h_table, DBScanner_ObjectDataStruct_Name, i_sizeof_buffer);
- }
- property DBTable m_hTable
- {
- public get() { return GetArrayCell(this, DBScanner_ObjectDataStruct_Table); }
- }
- property int m_iSizeOfSQL
- {
- public get() { GetArrayCell(this, DBScanner_ObjectDataStruct_SizeOfSQL); }
- }
- public int GetSQL(char[] s_buffer, int i_sizeof_buffer)
- {
- return GetArrayString(this, DBScanner_ObjectDataStruct_SQL, i_sizeof_buffer);
- }
- property DBResult m_iSQLFieldFetchResult
- {
- public get() { return GetArrayCell(this, DBScanner_ObjectDataStruct_SQLResultType); }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement