 |
NAVTOR SDK
v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
|
|
Go to the documentation of this file. 1 #ifndef SDK_ECDIS_NMEA_PARSER_PARSED_NMEA_SENTENCE_DATA_INTERFACE_H_
11 #define SDK_ECDIS_NMEA_PARSER_PARSED_NMEA_SENTENCE_DATA_INTERFACE_H_
22 SDK_ECDISLAYER_BEGIN_NAMESPACE
36 SDKAny& nmea_sentence_value)
const throw() = 0;
38 template<
typename T >
47 if (ANY_IS_EMPTY(&value))
63 ? id : ValueID2DataFieldStateID(
id);
66 if (
SDK_FAILED(GetRawValueT<SDKUInt32>(state_id, val)))
79 inline bool IsValueInvalid(
const NMEASentenceValueID&
id)
const
82 inline bool IsValueAbsent(
const NMEASentenceValueID&
id)
const
85 inline bool IsValueInvalidFormat(
const NMEASentenceValueID&
id)
const
89 template<
typename T >
100 return GetRawValueT<T>(
id, out);
104 template<
typename T >
117 return GetRawValueT<T>(
id, out);
121 template<
typename T >
124 bool& is_absent)
const
137 return GetRawValueT<T>(
id, out);
146 SDKAny& nmea_sentence_value)
const
148 if (IsValueID(nmea_sentence_value_id))
157 return GetRawValue(nmea_sentence_value_id, nmea_sentence_value);
161 template<
typename T >
169 SDK_DECLARE_IID(IParsedNMEASentenceData)
173 SDK_ECDISLAYER_END_NAMESPACE
175 #endif // SDK_ECDIS_NMEA_PARSER_PARSED_NMEA_SENTENCE_DATA_INTERFACE_H_
virtual SDKResult SDK_CALLTYPE GetRawValue(const NMEASentenceValueID &nmea_sentence_value_id, SDKAny &nmea_sentence_value) const =0
Returns appropriate NMEA sentence data value, if exists.
@ kDataFieldState_InvalidValue
Data field with invalid value (value is out of range)
Definition: parsed_nmea_sentence_value_ids.h:157
DataFieldState
Different states for one of sentence data fields.
Definition: parsed_nmea_sentence_value_ids.h:148
A list of SDK error/return results.
@ Err_EmptyValue
An empty value.
Definition: sdk_results_enum.h:48
@ kDataFieldState_Unknown
Data field state is unknown due of parsing was not performed.
Definition: parsed_nmea_sentence_value_ids.h:159
@ Ok
Operation completed successfully.
Definition: sdk_results_enum.h:22
@ kDataFieldState_InvalidFormat
Data field with wrongly formatted data.
Definition: parsed_nmea_sentence_value_ids.h:155
SDKUInt32 NMEASentenceValueID
NMEA sentence value ID.
Definition: parsed_nmea_sentence_value_ids.h:559
The ecdislayer constants.
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
SDKResult GetNMEASentenceValueT(const NMEASentenceValueID &id, T &out) const
DEPRECATED, BACKWARD COMPABILITY ONLY.
Definition: parsed_nmea_sentence_data_interface.h:162
@ Err_InvalidArg
Wrong argument passed to function.
Definition: sdk_results_enum.h:27
A container for parsed NMEA sentence(s) data values.
Definition: parsed_nmea_sentence_data_interface.h:30
@ Err_UnknownError
Unknown error.
Definition: sdk_results_enum.h:52
DataFieldState GetValueState(const NMEASentenceValueID &id) const
Returns given value state (valid/absent/etc)
Definition: parsed_nmea_sentence_data_interface.h:57
SDKResult GetValueAndStateT(const NMEASentenceValueID &id, T &out, bool &is_valid, bool &is_absent) const
Returns the raw value and validation state.
Definition: parsed_nmea_sentence_data_interface.h:122
SDKResult GetNMEASentenceValue(const NMEASentenceValueID &nmea_sentence_value_id, SDKAny &nmea_sentence_value) const
Returns appropriate NMEA sentence data value, if exists DEPRECATED, BACKWARD COMPABILITY ONLY.
Definition: parsed_nmea_sentence_data_interface.h:144
Common base SDK interfaces.
#define SDK_FAILED(res)
Checks failed result.
Definition: sdk_results_enum.h:69
bool IsDataFieldStateID(const NMEASentenceValueID &id)
Set of useful Value ID/Data field state ID routines.
Definition: parsed_nmea_sentence_value_ids.h:566
@ kDataFieldState_Absent
Data field with empty data.
Definition: parsed_nmea_sentence_value_ids.h:153
SDKResult GetValidOrInvalidValue(const NMEASentenceValueID &id, T &out) const
Returns value itself, only in case value marked as valid or invalid.
Definition: parsed_nmea_sentence_data_interface.h:105
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
@ Err_NotExist
Not exist.
Definition: sdk_results_enum.h:26
List of appropriate IDs for each of parsed items in NMEA sentence.
@ kDataFieldState_Valid
Data field with correctly formatted and within range value.
Definition: parsed_nmea_sentence_value_ids.h:151
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
Wrappers for work with SDKAny instance.
SDKResult GetValidValue(const NMEASentenceValueID &id, T &out) const
Returns value itself, only in case value marked as valid.
Definition: parsed_nmea_sentence_data_interface.h:90