Gocator Development Kit
 All Classes Files Functions Variables Typedefs Friends Modules Pages
GdkCfgInterfaces.h
Go to the documentation of this file.
1 /**
2 * @file GdkCfgInterfaces.h
3 * @brief Declares interfaces for accessing configuration implementations.
4 *
5 * Copyright (C) 2018-2022 by LMI Technologies Inc. All rights reserved.
6 */
7 #ifndef GDK_CFG_INTERFACES_H
8 #define GDK_CFG_INTERFACES_H
9 
10 #include <Gdk/GdkDef.h>
11 #include <Gdk/Config/ExtParams.h>
13 
14 namespace Gdk
15 {
16 namespace Config
17 {
18 
19 class GdkClass IToolEntity
20 {
21 public:
22  virtual const kChar* TypeName() const = 0;
23  virtual k32s Id() const = 0;
24  virtual const kChar* Name() const = 0;
25  virtual void SetName(const kChar* name) = 0;
26  virtual ExtParamSet& ParamSet() = 0;
27 
28  virtual kPointer ConfigWrapper() = 0;
29 
30  virtual ~IToolEntity() {};
31 };
32 
33 class GdkClass IToolOutput : public IToolEntity
34 {
35 public:
36  virtual bool Enabled() const = 0;
37  virtual void Enable(bool enabled) = 0;
38  virtual GdkToolOutputType OutputType() const = 0;
39 };
40 
41 class GdkClass IMeasurementOutput : public IToolOutput
42 {
43 public:
44  virtual GdkMeasurementInfo TypeInfo() = 0;
45 };
46 
47 class GdkClass IFeatureOutput : public IToolOutput
48 {
49 public:
50  virtual GdkFeatureInfo TypeInfo() = 0;
51 };
52 
53 class GdkClass IDataOutput : public IToolOutput
54 {
55 public:
56  virtual GdkToolDataOutputInfo TypeInfo() = 0;
57 };
58 
59 class GdkClass ITool : public IToolEntity
60 {
61 public:
62  virtual GdkToolVersionInfo VersionInfo() = 0;
63 
64  virtual void SetSource(GdkDataSource source) = 0;
65  virtual GdkDataSource Source() const = 0;
66 
67  virtual void SetAnchor(GdkAnchorParam axis, k32s id) = 0;
68  virtual k32s Anchor(GdkAnchorParam axis) const = 0;
69 
70  virtual size_t MeasurementCount() const = 0;
71  virtual IMeasurementOutput& MeasurementAt(size_t index) = 0;
72  virtual IMeasurementOutput& AddMeasurement(const kChar* typeName) = 0;
73  virtual void RemoveMeasurement(size_t index) = 0;
74 
75  virtual size_t FeatureCount() const = 0;
76  virtual IFeatureOutput& FeatureAt(size_t index) = 0;
77  virtual IFeatureOutput& AddFeature(const kChar* typeName) = 0;
78  virtual void RemoveFeature(size_t index) = 0;
79 
80  virtual size_t DataCount() const = 0;
81  virtual IDataOutput& DataAt(size_t index) = 0;
82  virtual IDataOutput& AddData(const kChar* typeName) = 0;
83  virtual void RemoveData(size_t index) = 0;
84 
85  virtual size_t OutputCount() const = 0;
86  virtual IToolOutput& OutputAt(size_t index) = 0;
87 
88  virtual void* ModelPointer() const = 0;
89 };
90 
91 }} // Namespace
92 
93 #include <Gdk/GdkDef.h>
94 
95 #endif
Essential Gdk declarations.
Definition: GdkCfgInterfaces.h:14
Describes a measurement type.
Represents a data source selection.
Represents tool output type.
Describes a feature type.
Represents a set of properties.
Definition: ExtParams.h:808
Describes a tool config version.
Represents anchor parameter source selections.
Declares the GdkToolVersionInfo class.
Describes a GdkToolDataOutputInfo type.