📄 object.cpp
字号:
//// INTEL CORPORATION PROPRIETARY INFORMATION// This software is supplied under the terms of a license agreement or// nondisclosure agreement with Intel Corporation and may not be copied// or disclosed except in accordance with the terms of that agreement.// Copyright (c) 2005 Intel Corporation. All Rights Reserved.//#include "object.h"//OBJECT_TYPE_IMPL(Object);/*template <class T>bool ObjectTypeCheck(T* p_object){ return !vm_string_strcmp(T::GetStaticObjectType(),p_object->GetObjectType());}*/bool ObjectTypeCheck(Object* p_object){ return true;}Object::~Object(){}typedef ObjectsList* (*FN_EXPORT_OBJECTS_LIST)(void);static vm_char* g_pfuncname = VM_STRING("ExportObjectsList");ObjectsList*ObjectsList::Load(vm_char* p_filename, vm_char* p_funcname){ FN_EXPORT_OBJECTS_LIST fnExportObjectsList; ObjectsList* p_objects_list; vm_so_handle handle; if (p_filename == NULL) return NULL; if(p_funcname == NULL) { p_funcname = g_pfuncname; } handle = vm_so_load(p_filename); if (handle == NULL) { return NULL; } fnExportObjectsList = (FN_EXPORT_OBJECTS_LIST)vm_so_get_addr(handle,p_funcname); if (fnExportObjectsList == NULL) { vm_so_free(handle); return NULL; } p_objects_list = fnExportObjectsList(); if (p_objects_list == NULL) { vm_so_free(handle); return NULL; } p_objects_list->handle = handle; p_objects_list->p_next = NULL; return p_objects_list;}ObjectsList g_static_objects_list = {NULL};boolObjectReg(Object* p_object){ Object* p_counter; if (g_static_objects_list.p_begin == NULL) { g_static_objects_list.p_begin = p_object; return true; } p_counter = g_static_objects_list.p_begin; while (p_counter->m_pnext != NULL) { p_counter = p_counter->m_pnext; } p_counter->m_pnext = p_object; p_object->m_pnext = NULL; return true;}#if defined WIN32ObjectsList * WINAPIExportObjectsList(void){ return &g_static_objects_list;}#elseextern "C" ObjectsList*ExportObjectsList(void){ return &g_static_objects_list;}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -