User Tools

Site Tools


class:domain:externalrefmanager

ExternalRefManager

Inherited from XManager,

Inherited by NULL

Friend class NULL

Description

ExternalRefManager从XManager继承,是外部引用对象管理器,所有外部引用对象的创建、销毁、访问以及修改都通过调用它的通用接口完成。它的域识别码是Domain_ExternalRef,类型名是“DEXTERNALREF”。

为了降低耦合性,外部引用的数据解析和使用由回调函数执行,ExternalRefManager提供了接口用于注册绑定响应的回调函数,

Members

Public interface


FuncExtractExternalField m_fpExtractExternalField


ExternalRefManager(OpnRecorder * rec, XMemPool * pool = 0)

  • function: 构造函数
  • parameters:
    1. [i]OpnRecorder * rec: 数据操作记录器
    2. [i] XMemPool * pool = 0: 内存池
  • return value: 无

~ExternalRefManager()

  • function: 析构函数
  • parameters: NULL
  • return value: 无

void serialize(XBinaryIO * io, XItem * obj, bool bSave)

  • function: 在undo、redo时从数据操作记录文件中序列化数据对象
  • parameters:
    1. [i]XBinaryIO * io: 二进制数据操作记录文件句柄
    2. [i] XItem * obj: 数据对象
    3. [i] bool bSave: 是否保存数据对象
  • return value: 无

void registerFuncExtractExternalField(FuncExtractExternalField func)

  • function: 注册解析外部引用数据的回调函数
  • parameters:
    1. [i]FuncExtractExternalField func: 解析外部引用数据的回调函数
  • return value: 无

bool extractExternalField(const XExternalRef * ref, const char * param, vector<XDataPoint> * datas)

  • function: 提前外部引用数据,一般通过调用注册好的回调函数完成
  • parameters:
    1. [i]const XExternalRef * ref: 外部引用对象
    2. [i] const char * param: 提前参数字符串
    3. [i] vector<XDataPoint> * datas: 被提前的数据点
  • return value: 成功提前返回true,否则返回false

void write(XH5IO * io, H5Obj * grp)

  • function: 将管理的所有对象数据写入到HDF5文件中
  • parameters:
    1. [i]XH5IO * io: HDF5文件句柄
    2. [i] H5Obj * grp: 对象管理器对应的HDF5节点
  • return value: 无

bool read(XH5IO * io, H5Obj * grp)

  • function: 从HDF5文件中读取对象数据到管理器中
  • parameters:
    1. [i]XH5IO * io: HDF5文件句柄
    2. [i] H5Obj * grp: 对象管理器对应的HDF5节点
  • return value: 完整读取返回true,否则返回false
class/domain/externalrefmanager.txt · Last modified: 2023/08/04 08:40 (external edit)