Files
handleaiuinew/env/LMI/include/GoSdk/Tools/GoFeature.x.h
T

71 lines
2.2 KiB
C
Raw Normal View History

2024-05-18 23:53:26 +08:00
/**
* @file GoFeature.x.h
*
* @internal
* Copyright (C) 2017-2021 by LMI Technologies Inc.
* Licensed under the MIT License.
* Redistributed files must retain the above copyright notice.
*/
#ifndef GO_FEATURE_X_H
#define GO_FEATURE_X_H
#include <kApi/Data/kXml.h>
typedef struct GoFeatureVTable
{
kObjectVTable base;
kStatus (kCall* VInit)(GoFeature feature, kType type, kObject sensor, kObject srcTool, kAlloc allocator);
kStatus (kCall* VWrite)(GoFeature feature, kXml xml, kXmlItem item);
kStatus (kCall* VRead)(GoFeature feature, kXml xml, kXmlItem item);
} GoFeatureVTable;
typedef struct GoFeatureClass
{
kObjectClass base;
kObject sensor;
kObject srcTool;
kXml xml;
kXmlItem xmlItem;
kText128 name;
k32s id;
GoFeatureType typeId;
kBool enabled;
kText64 type;
GoFeatureDataType dataType;
} GoFeatureClass;
kDeclareVirtualClassEx(Go, GoFeature, kObject)
GoFx(kStatus) GoFeature_Construct(GoFeature* feature,
kType type,
kObject sensor,
kObject srcTool,
kAlloc allocator);
GoFx(kStatus) GoFeature_VInit(GoFeature feature,
kType type,
kObject sensor,
kObject srcTool,
kAlloc alloc); //note the lack of typeId compared to the Init below
GoFx(kStatus) GoFeature_Init(GoFeature feature,
kType type,
GoFeatureType typeId,
kObject sensor,
kObject srcTool,
GoFeatureDataType dataType,
kAlloc alloc);
GoFx(kStatus) GoFeature_VRelease(GoFeature feature);
GoFx(kStatus) GoFeature_VRead(GoFeature feature, kXml xml, kXmlItem item);
GoFx(kStatus) GoFeature_VWrite(GoFeature feature, kXml xml, kXmlItem item);
GoFx(kStatus) GoFeature_Read(GoFeature feature, kXml xml, kXmlItem item);
GoFx(kStatus) GoFeature_Write(GoFeature feature, kXml xml, kXmlItem item);
GoFx(kObject) GoFeature_Sensor(GoFeature feature);
#endif