NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
gdb_dataset_edit.h
Go to the documentation of this file.
1 #ifndef SDK_GDB_DATASET_EDIT_INTERFACE_H_
10 #define SDK_GDB_DATASET_EDIT_INTERFACE_H_
11 
13 #include <base/inc/interfaces/edit/edit_interface.h>
15 
16 namespace sdk {
17 namespace gdb { // geodatabase
18 
19 // Classes declared in other files.
20 class IObjectEdit;
21 class IFeatureEdit;
22 
23 // Classes declared in this file.
24 FWD_DECL_INTERFACE(IDatasetEdit);
25 FWD_DECL_INTERFACE(IFeatureDatasetEdit);
26 FWD_DECL_INTERFACE(IGDBGeometryEdit);
27 
30 class IDatasetEdit : public ISDKEdit {
31 public:
40  virtual GDBResult SDK_CALLTYPE SetDatasetProperty(
41  SDKUInt32 id,
42  const SDKAny& value) noexcept = 0;
43 
51  virtual GDBResult SDK_CALLTYPE SetBounds(
52  geometry::IEnvelope* envelope) noexcept = 0;
53 
61  virtual GDBResult SDK_CALLTYPE SetCoverage(
62  geometry::IGeometry* coverage) noexcept = 0;
63 
70  virtual GDBResult SDK_CALLTYPE SetDataStream(
71  const gdb::IGDBStream* stream) noexcept = 0;
72 
81  virtual GDBResult SDK_CALLTYPE CreateObject(
82  ObjectType type,
83  ClassCode code,
84  ObjectID& oid,
85  IObjectEdit** object) noexcept = 0;
86 
92  virtual GDBResult SDK_CALLTYPE DeleteObject(
93  ObjectID oid) noexcept = 0;
94 
104  virtual GDBResult SDK_CALLTYPE AddRelationship(
105  ObjectID owner,
106  ObjectID member,
107  RelationshipClass relationship_class,
108  RelationshipRole role,
109  ObjectID& rel_id) noexcept = 0;
110 
111  enum ModifyObjectsOp {
112  kModifyObjectsOp_SetVisible = 0,
113  kModifyObjectsOp_SetInvisible = 1,
114  kModifyObjectsOp_AddAttributes = 2,
115  kModifyObjectsOp_DeleteAttributes = 3,
116  };
117 
129  virtual GDBResult SDK_CALLTYPE ModifyObjects(
130  const SDKArray& object_rcids,
131  SDKUInt32 operation,
132  const IEnumSDKParameterSP& attributes
133  ) noexcept = 0;
134 
135  SDK_IMPLEMENT_IID(IDatasetEdit)
136  SDK_END_INTERFACE(IDatasetEdit)
137 };
138 SDK_DECLARE_IID(IDatasetEdit)
139 
140 class IFeatureDatasetEdit : public IDatasetEdit {
143 public:
144 
152  virtual GDBResult SDK_CALLTYPE SetGeometry(
153  IGDBGeometry* geometry,
154  ObjectID& geometry_id) noexcept = 0;
155 
156  SDK_IMPLEMENT_IID(IFeatureDatasetEdit)
157  SDK_END_INTERFACE(IFeatureDatasetEdit)
158 };
159 SDK_DECLARE_IID(IFeatureDatasetEdit)
160 
161 } // namespace gdb
162 } // namespace sdk
163 
164 #endif // SDK_GDB_DATASET_EDIT_INTERFACE_H_
sdk::gdb::IDatasetEdit::DeleteObject
virtual GDBResult SDK_CALLTYPE DeleteObject(ObjectID oid) noexcept=0
Deletes a specified object from the dataset.
gdb_dataset.h
Describes interfaces that manages a geodatabase dataset object.
RelationshipRole
RelationshipRole
Definition of the Relation role.
Definition: gdb_const.h:305
sdk::gdb::IDatasetEdit::SetCoverage
virtual GDBResult SDK_CALLTYPE SetCoverage(geometry::IGeometry *coverage) noexcept=0
Sets the coverage of the dataset.
sdk::gdb::IFeatureDatasetEdit
Provides editing of a geo dataset.
Definition: gdb_dataset_edit.h:142
IObjectEdit
Object is a basic entity of a geodatabase dataset. Every object in the geodatabase is uniquely identi...
Definition: gdb_feature_edit.h:57
ObjectType
ObjectType
The Feature constants and structures.
Definition: gdb_feature.h:41
sdk::gdb::IDatasetEdit::CreateObject
virtual GDBResult SDK_CALLTYPE CreateObject(ObjectType type, ClassCode code, ObjectID &oid, IObjectEdit **object) noexcept=0
Creates a new object.
sdk::gdb::IDatasetEdit
Provides editing of a dataset.
Definition: gdb_dataset_edit.h:30
sdk::gdb::IDatasetEdit::AddRelationship
virtual GDBResult SDK_CALLTYPE AddRelationship(ObjectID owner, ObjectID member, RelationshipClass relationship_class, RelationshipRole role, ObjectID &rel_id) noexcept=0
Adds a relationship between two existing objects in the dataset.
parameters_interface.h
Provides access to members for managing a parameter set.
sdk::gdb::IGDBStream
Geodatabase stream.
Definition: gdb_stream.h:27
sdk::gdb::IFeatureDatasetEdit::SetGeometry
virtual GDBResult SDK_CALLTYPE SetGeometry(IGDBGeometry *geometry, ObjectID &geometry_id) noexcept=0
Adds (copies) an existing geometry to the dataset.
ClassCode
SDKUInt32 ClassCode
Definition of the ClassCode types.
Definition: gdb_const.h:229
IFeatureEdit
Feature is a spatial object. A feature has an associated shape. A feature may have a shape with more ...
Definition: gdb_feature_edit.h:113
sdk::gdb::IDatasetEdit::ModifyObjects
virtual GDBResult SDK_CALLTYPE ModifyObjects(const SDKArray &object_rcids, SDKUInt32 operation, const IEnumSDKParameterSP &attributes) noexcept=0
This method is intended for a group operations. Modify attributes or flags for set of objects....
ObjectID
Object identifier.
Definition: gdb_const.h:115
sdk::gdb::IDatasetEdit::SetDatasetProperty
virtual GDBResult SDK_CALLTYPE SetDatasetProperty(SDKUInt32 id, const SDKAny &value) noexcept=0
Sets a value of a specified property of the dataset.
RelationshipClass
RelationshipClass
Definition of the Relationship class.
Definition: gdb_const.h:313
sdk::gdb::IDatasetEdit::SetDataStream
virtual GDBResult SDK_CALLTYPE SetDataStream(const gdb::IGDBStream *stream) noexcept=0
Reads the dataset from raw data.
sdk::gdb::IDatasetEdit::SetBounds
virtual GDBResult SDK_CALLTYPE SetBounds(geometry::IEnvelope *envelope) noexcept=0
Sets the envelope of the dataset.
IGDBGeometry
Specifies an interface for a GDB Geometry object.
Definition: gdb_feature.h:259
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.