NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
base_types_functions.h
Go to the documentation of this file.
1 #ifndef SDK_BASE_LIBRARY_BASE_TYPES_FUNCTION_H_
11 #define SDK_BASE_LIBRARY_BASE_TYPES_FUNCTION_H_
12 
13 #include <time.h>
14 #include <base/inc/platform.h>
15 #include <base/inc/base_types.h>
16 #include <base/inc/sdk_results.h>
18 
19 #ifdef __cplusplus
20 namespace sdk {
21 FWD_DECL_INTERFACE(ISDKProperties);
22 FWD_DECL_INTERFACE(IEnumSDKProperty);
23 }
24 #endif
25 
28 
30 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
31 SDKTimeToSDKTimeStruct(const SDKTime& time, SDKTimeStruct& time_struct);
32 
34 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
35 SDKTimeStructToSDKTime(const SDKTimeStruct& time_struct, SDKTime& time);
36 
38 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
39 SDKTimeFromTimeT(const time_t& timet, SDKTime& time);
40 
42 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
43 SDKTimeToTimeT(const SDKTime& time, time_t& timet);
44 
46 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
47 SDKTimeInMilliseconds(const SDKTime& time, double& time_delta);
48 
50 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
51 SDKTimeDeltaInMilliseconds(SDKTimeDelta time_delta, double& time_delta_ms);
52 
54 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
55 SDKStringInit(SDKString* str);
56 
59 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
60 SDKStringCreateA(SDKString* str, const char* ascii_string, SDKUInt32 size);
61 
64 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
65 SDKStringCreateI(SDKString* str, const SDKUInt16* int_string, SDKUInt32 size);
66 
69 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
70 SDKStringCreateW(SDKString* str, const wchar_t* wide_string, SDKUInt32 size);
71 
73 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
74 SDKStringDelete(SDKString* str);
75 
77 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
78 SDKStringDuplicate(const SDKString* src, SDKString* dst);
79 
82 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
83 SDKStringCompare(const SDKString* str1, const SDKString* str2);
84 
85 #ifdef __cplusplus
86 static inline bool operator==(const SDKString& lhs, const SDKString& rhs) noexcept
87 {
88  return (kSDKResult_True == SDKStringCompare(&lhs, &rhs));
89 }
90 #endif // __cplusplus
91 
93 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
94 SDKStringGetSize(const SDKString* str, SDKUInt32* size);
95 
97 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
98 SDKAnyInit(SDKAny* any);
99 
101 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
102 SDKAnyInitString(SDKAny* any);
103 
105 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
106 SDKAnyInitAny(SDKAny* any);
107 
109 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
110 SDKAnyInitArray(SDKAny* any, SDKAnyType element_type, SDKUInt32 element_size);
111 
113 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
114 SDKAnyClear(SDKAny* any);
115 
117 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
118 SDKAnyDuplicate(const SDKAny* any_src, SDKAny* any_dest);
119 
121 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
122 SDKAnyChangeType(SDKAny* any, SDKAnyType new_type);
123 
126 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
127 SDKAnyCompare(const SDKAny* any1, const SDKAny* any2);
128 
131 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
132 SDKAnyCompareValue(const SDKAny* any1, const SDKAny* any2);
133 
135 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
136 SDKArrayInit(SDKArray* arr);
137 
139 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
140 SDKArrayCreate(SDKArray* arr, SDKAnyType element_type, SDKUInt32 element_size,
141  SDKUInt64 num_of_elements);
142 
144 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
145 SDKArrayDelete(SDKArray* arr);
146 
148 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
149 SDKArrayDuplicate(const SDKArray* arr_src, SDKArray* arr_dest);
150 
152 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
153 SDKArrayResize(SDKArray* arr, SDKUInt64 new_num_of_elements);
154 
157 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
158 SDKArrayCompare(const SDKArray* arr1, const SDKArray* arr2);
159 
164 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
165 SDKShutdown();
166 
168 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKAtomicRefCount SDK_APICALLTYPE
169 SDKAtomicRefCountInc(volatile SDKAtomicRefCount* ptr);
170 
174 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKAtomicRefCount SDK_APICALLTYPE
175 SDKAtomicRefCountDec(volatile SDKAtomicRefCount* ptr);
176 
179 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
180 SDKAtomicRefCountIsZero(volatile SDKAtomicRefCount* ptr);
181 
184 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKAtomicRefCount SDK_APICALLTYPE
185 SDKAtomicRefCountExchange(volatile SDKAtomicRefCount* ptr,
186  SDKAtomicRefCount new_value);
187 
189 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
190 SDKSetLastError(SDKUInt32 error_id, sdk::ISDKProperties* error_params);
191 
193 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
195 
197 SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE
199 
201 
202 #endif // SDK_BASE_LIBRARY_BASE_TYPES_FUNCTION_H_
SDKAtomicRefCountIsZero
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKAtomicRefCountIsZero(volatile SDKAtomicRefCount *ptr)
Return whether the reference count is zero. Returns 1 if zero 0 otherwise.
sdk::IEnumSDKProperty
Properties enumerator.
Definition: properties_interface.h:77
SDKStringInit
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKStringInit(SDKString *str)
Initializes SDKString structure.
SDKStringCreateA
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKStringCreateA(SDKString *str, const char *ascii_string, SDKUInt32 size)
Creates SDKString and initializes it with specified string, if 'size' is not 0, only 'size' chars are...
SDKShutdown
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKShutdown()
Shutdowns the base library Call to given method is highly recommended on shutdown of application....
sdk_results.h
A list of SDK error/return results.
base_types.h
SDK base types.
SDKAnyInitString
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKAnyInitString(SDKAny *any)
Initializes SDKAny value to contain pointer to empty SDKString.
SDKAnyInit
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKAnyInit(SDKAny *any)
Initializes SDKAny value to empty state.
SDKTimeToSDKTimeStruct
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKTimeToSDKTimeStruct(const SDKTime &time, SDKTimeStruct &time_struct)
Splits specified SDKTime value to SDKTimeStruct values.
SDKArrayCompare
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKArrayCompare(const SDKArray *arr1, const SDKArray *arr2)
Compares arrays.
SDKAnyClear
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKAnyClear(SDKAny *any)
Clears SDKAny value (deleting complex types)
SDKAtomicRefCountDec
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKAtomicRefCount SDK_APICALLTYPE SDKAtomicRefCountDec(volatile SDKAtomicRefCount *ptr)
Atomic decrement a reference count by 1. Decrement a reference count by 1.Returns the new value of *p...
SDKAtomicRefCountInc
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKAtomicRefCount SDK_APICALLTYPE SDKAtomicRefCountInc(volatile SDKAtomicRefCount *ptr)
Atomic increment a reference count by 1.
SDKStringGetSize
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKStringGetSize(const SDKString *str, SDKUInt32 *size)
Returns SDKString size.
SDKStringDelete
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKStringDelete(SDKString *str)
Deletes SDKString instance.
SDKStringCreateI
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKStringCreateI(SDKString *str, const SDKUInt16 *int_string, SDKUInt32 size)
Creates SDKString from its internal representation. 'size' should contain length of the initializatio...
SDKAnyCompareValue
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKAnyCompareValue(const SDKAny *any1, const SDKAny *any2)
Compares values of two SDKAny.
SDKTimeFromTimeT
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKTimeFromTimeT(const time_t &timet, SDKTime &time)
Converts time_t value to SDKTime value.
SDKClearLastError
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKClearLastError()
Resets list of last errors.
SDKTimeInMilliseconds
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKTimeInMilliseconds(const SDKTime &time, double &time_delta)
Returns SDKTime as the time delta in milliseconds.
SDKArrayInit
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKArrayInit(SDKArray *arr)
Initialize SDKArray structure.
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
SDKTimeDelta
SDKInt64 SDKTimeDelta
Time delta in Milliseconds.
Definition: base_types.h:63
SDKAnyCompare
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKAnyCompare(const SDKAny *any1, const SDKAny *any2)
Compares two SDKAny.
sdk::ISDKProperties
Provides access to members that control the properties.
Definition: properties_interface.h:32
SDKStringCompare
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKStringCompare(const SDKString *str1, const SDKString *str2)
Compares strings.
SDKArrayCreate
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKArrayCreate(SDKArray *arr, SDKAnyType element_type, SDKUInt32 element_size, SDKUInt64 num_of_elements)
Creates SDKArray value.
SDKGetLastError
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKGetLastError(sdk::IEnumSDKProperty **errors)
Returns list of last errors.
sdk_component_interface.h
Common base SDK interfaces.
SDKStringDuplicate
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKStringDuplicate(const SDKString *src, SDKString *dst)
Duplicates SDKString instance.
SDKSetLastError
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKSetLastError(SDKUInt32 error_id, sdk::ISDKProperties *error_params)
Remembers last error in a errors stack.
SDKArrayDuplicate
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKArrayDuplicate(const SDKArray *arr_src, SDKArray *arr_dest)
Duplicates SDKArray instance.
platform.h
Describes the platform constants.
SDKAtomicRefCountExchange
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKAtomicRefCount SDK_APICALLTYPE SDKAtomicRefCountExchange(volatile SDKAtomicRefCount *ptr, SDKAtomicRefCount new_value)
Atomically store new_value into *ptr. Returns the previous value held in *ptr.
SDKStringCreateW
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKStringCreateW(SDKString *str, const wchar_t *wide_string, SDKUInt32 size)
Creates SDKString and initializes it with specified string if 'size' is not 0, only 'size' chars are ...
SDKAnyInitAny
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKAnyInitAny(SDKAny *any)
Initializes SDKAny value to contain pointer to empty SDKAny.
SDKAnyChangeType
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKAnyChangeType(SDKAny *any, SDKAnyType new_type)
Converts SDKAny value of one type to SDKAny value of another type.
SDKTime
SDK_END_NAMESPACE typedef SDKInt64 SDKTime
Milliseconds from Unix epoch.
Definition: base_types.h:56
SDKArrayDelete
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKArrayDelete(SDKArray *arr)
Deletes SDKArray instance.
SDKTimeDeltaInMilliseconds
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKTimeDeltaInMilliseconds(SDKTimeDelta time_delta, double &time_delta_ms)
Returns SDKTimeDelta in milliseconds.
SDKAnyDuplicate
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKAnyDuplicate(const SDKAny *any_src, SDKAny *any_dest)
Duplicates SDKAny value (deep copy)
kSDKResult_True
static const SDKResult kSDKResult_True
Operation completed successfully with true result.
Definition: sdk_results.h:25
SDKAnyInitArray
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKAnyInitArray(SDKAny *any, SDKAnyType element_type, SDKUInt32 element_size)
Initializes SDKAny value to contain pointer to empty SDKArray.
SDKArrayResize
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKArrayResize(SDKArray *arr, SDKUInt64 new_num_of_elements)
Expands or shrinks SDKArray to specified size.
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
SDKTimeStructToSDKTime
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKTimeStructToSDKTime(const SDKTimeStruct &time_struct, SDKTime &time)
Combines SDKTimeStruct values to one SDKTime value.
SDKTimeToTimeT
SDK_EXTERN_C SDK_BASE_LIBRARY_EXPORT_API SDKResult SDK_APICALLTYPE SDKTimeToTimeT(const SDKTime &time, time_t &timet)
Converts SDKTime value to time_t value.