NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
gdb_relationship.h
Go to the documentation of this file.
1 #ifndef SDK_GDB_RELATIONSHIP_INTERFACE_H_
11 #define SDK_GDB_RELATIONSHIP_INTERFACE_H_
12 #pragma once
13 
16 
17 SDK_GDB_BEGIN_NAMESPACE
18 
19 // Classes declared in other files.
20 class IObject;
21 
22 // Classes declared in this file.
25 
29 public:
33  virtual GDBResult SDK_CALLTYPE GetRelationshipCount(
34  SDKUInt32& count) const throw() = 0;
35 
49  virtual GDBResult SDK_CALLTYPE GetRelationship(
50  SDKUInt32 index,
51  IObject** related_object,
52  RelationshipClass* relationship_class,
53  RelationshipRole* relationship_role
54  ) const throw() = 0;
55 
66  virtual GDBResult SDK_CALLTYPE GetRelationshipObject(
67  SDKUInt32 index,
68  IRelationship** relationship
69  ) const throw() = 0;
70 
71 
72  SDK_IMPLEMENT_IID(IRelationshipCollection)
73  SDK_END_INTERFACE(IRelationshipCollection)
74 };
75 SDK_DECLARE_IID(IRelationshipCollection)
76 
77 class IRelationship : public IObject {
81 public:
89  virtual GDBResult SDK_CALLTYPE GetOwner(
90  IObject** owner) const throw() = 0;
91 
99  virtual GDBResult SDK_CALLTYPE GetRelated(
100  IObject** object) const throw() = 0;
101 
106  virtual GDBResult SDK_CALLTYPE GetRelationshipRole(
107  RelationshipRole& role) const throw() = 0;
108 
115  virtual GDBResult SDK_CALLTYPE GetRelationshipClass(
116  RelationshipClass& rel_class) const throw() = 0;
117 
118  SDK_IMPLEMENT_IID(IRelationship)
119  SDK_END_INTERFACE(IRelationship)
120 };
121 SDK_DECLARE_IID(IRelationship)
122 
123 SDK_GDB_END_NAMESPACE
124 
125 #endif // SDK_GDB_RELATIONSHIP_INTERFACE_H_
RelationshipRole
RelationshipRole
Definition of the Relation role.
Definition: gdb_const.h:305
IRelationship::GetRelationshipRole
virtual GDBResult SDK_CALLTYPE GetRelationshipRole(RelationshipRole &role) const =0
Returns the relationship role.
IObject
Object is a basic entity of a geodatabase dataset. Every object in the geodatabase is uniquely identi...
Definition: gdb_feature.h:130
IRelationship::GetRelated
virtual GDBResult SDK_CALLTYPE GetRelated(IObject **object) const =0
Returns the related object.
IRelationship
Provides access to members that return information about the relationship.
Definition: gdb_relationship.h:80
IRelationshipCollection::GetRelationshipCount
virtual GDBResult SDK_CALLTYPE GetRelationshipCount(SDKUInt32 &count) const =0
Returns the number of relationships in the collection.
gdb_const.h
Geo database constants and structures.
IRelationshipCollection
Provides access to relationship collection.
Definition: gdb_relationship.h:28
IRelationshipCollection::GetRelationshipObject
virtual GDBResult SDK_CALLTYPE GetRelationshipObject(SDKUInt32 index, IRelationship **relationship) const =0
Returns the relationship object from the relationship collection specified by index....
ISDKComponent
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
IRelationshipCollection::GetRelationship
virtual GDBResult SDK_CALLTYPE GetRelationship(SDKUInt32 index, IObject **related_object, RelationshipClass *relationship_class, RelationshipRole *relationship_role) const =0
Returns the relationship from the relationship collection specified by index. The first relationship ...
RelationshipClass
RelationshipClass
Definition of the Relationship class.
Definition: gdb_const.h:313
gdb_feature.h
Describes interfaces that manages a geodatabase feature object.
IRelationship::GetRelationshipClass
virtual GDBResult SDK_CALLTYPE GetRelationshipClass(RelationshipClass &rel_class) const =0
Returns the relationship class. Besides the RelationshipClass enum the relationship class is encoded ...
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
IRelationship::GetOwner
virtual GDBResult SDK_CALLTYPE GetOwner(IObject **owner) const =0
Returns the owner of the relationship.