NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
message_interface.h
Go to the documentation of this file.
1 #ifndef SDK_MESSAGE_INTERFACE_H_
11 #define SDK_MESSAGE_INTERFACE_H_
12 
13 #include <base/inc/platform.h>
14 #include <base/inc/base_types.h>
15 #include <base/inc/sdk_results.h>
17 #include <base/inc/sdk_ref_ptr.h>
19 
20 namespace sdk {
21 
22 // Classes declared in this file.
23 FWD_DECL_INTERFACE(IMessage);
24 
25 typedef SDKUInt32 MessageID;
26 typedef SDKUInt32 MessageSenderID;
27 
30 class IMessage : public ISDKProperties {
31  public:
34  virtual MessageID SDK_CALLTYPE GetMessageID() const throw() = 0;
35 
40  virtual SDKResult SDK_CALLTYPE GetSenderID(
41  MessageSenderID& sender_id) const throw() = 0;
42 
48  virtual SDKResult SDK_CALLTYPE GetSenderName(
49  SDKString& sender_name) const throw() = 0;
50 
51 
52  // ISDKProperty
53  // virtual SDKResult SDK_CALLTYPE SetProperty(const SDKPropertyID& id,
54  // const SDKAny& value) throw() = 0;
55  //
56  // virtual SDKResult SDK_CALLTYPE GetProperty(const SDKPropertyID& id,
57  // SDKAny& value) const throw() = 0;
58 
59  SDK_IMPLEMENT_IID(IMessage)
60  SDK_END_INTERFACE(IMessage)
61 };
62 SDK_DECLARE_IID(IMessage)
63 
64 class IEnumMessageID : public ISDKComponent {
68 public:
73  virtual SDKResult SDK_CALLTYPE Next(MessageID& id) const throw() = 0;
74 
76  virtual void SDK_CALLTYPE Reset() throw() = 0;
77 };
78 
82 public:
89  virtual SDKResult SDK_CALLTYPE HandleMessage(
90  const IMessageSP& message) throw() = 0;
91 
92 SDK_IMPLEMENT_IID(IMessageSubscriber)
93 SDK_END_INTERFACE(IMessageSubscriber)
94 };
95 SDK_DECLARE_IID(IMessageSubscriber)
96 
100 public:
107  virtual SDKResult SDK_CALLTYPE HandleMessage(
108  const IMessageSP& message) throw() = 0;
109 
112 }
113 
114 } // namespace sdk
115 
116 #endif // SDK_MESSAGE_INTERFACE_H_
sdk::MessageSenderID
SDKUInt32 MessageSenderID
Message sender identifier.
Definition: message_interface.h:26
sdk::IMessage
Provides access to members that manage a message.
Definition: message_interface.h:30
sdk::IMessage::GetMessageID
virtual MessageID SDK_CALLTYPE GetMessageID() const =0
Returns the value of the specified parameter.
sdk_results.h
A list of SDK error/return results.
base_types.h
SDK base types.
sdk_ref_ptr.h
Interfaces wrapper with reference count control.
properties_interface.h
Object generic properties interface.
sdk::IMessageSubscriber
Provides access to members that manage a message subscriber.
Definition: message_interface.h:81
sdk::IEnumMessageID::Next
virtual SDKResult SDK_CALLTYPE Next(MessageID &id) const =0
Retrieves the next MessageID in the enumeration sequence.
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
sdk::MessageID
SDKUInt32 MessageID
Message identifier.
Definition: message_interface.h:25
sdk::ISDKProperties
Provides access to members that control the properties.
Definition: properties_interface.h:32
sdk::IEnumMessageID::Reset
virtual void SDK_CALLTYPE Reset()=0
Resets the enumeration sequence to the beginning.
sdk::IMessage::GetSenderID
virtual SDKResult SDK_CALLTYPE GetSenderID(MessageSenderID &sender_id) const =0
Returns the message sender identifier.
sdk_component_interface.h
Common base SDK interfaces.
platform.h
Describes the platform constants.
sdk::IMessageSubscriberNonRefCounted::~IMessageSubscriberNonRefCounted
virtual ~IMessageSubscriberNonRefCounted()
dtor
Definition: message_interface.h:111
sdk::IEnumMessageID
Enumerates the message identifiers which a component implementing IMessageSubscriber interface wants ...
Definition: message_interface.h:67
ISDKComponent
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
sdk::IMessageSubscriberNonRefCounted
Message subscriber.
Definition: message_interface.h:99
sdk::IMessage::GetSenderName
virtual SDKResult SDK_CALLTYPE GetSenderName(SDKString &sender_name) const =0
Returns the message sender name.
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.