NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
navbox_client_interfaces.h
Go to the documentation of this file.
1 
9 #ifndef SDK_NAVBOX_CLIENT_INTERFACES_H_
10 #define SDK_NAVBOX_CLIENT_INTERFACES_H_
11 
15 #include <base/inc/interfaces/collection/collection_interface.h>
21 
22 SDK_NAVBOX_CLIENT_BEGIN_NAMESPACE
23 
24 FWD_DECL_INTERFACE(INavBoxClient)
25 FWD_DECL_INTERFACE(IECDISClient)
26 FWD_DECL_INTERFACE(IFileStreamClient)
27 FWD_DECL_INTERFACE(IFileStreamServer)
28 FWD_DECL_INTERFACE(IECDISServiceClient)
30 FWD_DECL_INTERFACE(IECDISServiceServer)
33 FWD_DECL_INTERFACE(INavBoxChartCatalog)
34 FWD_DECL_INTERFACE(INavBoxChartCatalogItem)
35 FWD_DECL_INTERFACE(INavBoxChartCatalogItemCorrectionInfo)
36 FWD_DECL_INTERFACE(INavBoxPublication)
37 FWD_DECL_INTERFACE(IPortInfo)
38 FWD_DECL_INTERFACE(INavBoxVesselIDInfo)
39 FWD_DECL_INTERFACE(INavBoxReceivedRouteInfo)
40 FWD_DECL_INTERFACE(INavBoxConnectedECDISInfo)
41 FWD_DECL_INTERFACE(INavBoxECDISConnectionParameters)
47 FWD_DECL_INTERFACE(IFileStreamFileInfo)
48 FWD_DECL_INTERFACE(IFileStreamFileInfoList)
49 FWD_DECL_INTERFACE(ISimulationWaypoint)
50 FWD_DECL_INTERFACE(ISimulationRoute)
51 FWD_DECL_INTERFACE(ISimulationShipModelParams)
52 FWD_DECL_INTERFACE(IWNILegPoint)
53 FWD_DECL_INTERFACE(IWNINVI)
54 FWD_DECL_INTERFACE(IPortLocode)
55 FWD_DECL_INTERFACE(IPortCountry)
56 FWD_DECL_INTERFACE(IPortCountry)
58 FWD_DECL_INTERFACE(INavBoxDataLayerFormat)
59 FWD_DECL_INTERFACE(INavBoxDataLayerAttributes)
60 FWD_DECL_INTERFACE(INavBoxDataLayer)
61 FWD_DECL_INTERFACE(INavBoxDataObjectAttachmentInfo)
62 FWD_DECL_INTERFACE(INavBoxDataObject)
63 
64 #if 0
65 FWD_DECL_INTERFACE(INavBoxRoute)
66 FWD_DECL_INTERFACE(INavBoxRouteWaypoint)
67 FWD_DECL_INTERFACE(INavBoxVesselDetail)
68 FWD_DECL_INTERFACE(INavBoxRouteLicensingData)
69 FWD_DECL_INTERFACE(INavBoxOrder)
70 FWD_DECL_INTERFACE(INavBoxOrderItem)
71 FWD_DECL_INTERFACE(INavBoxLicenseOrderingInfo)
72 #endif
73 
88  kNavBoxFileType_Undefined = -1
89 };
91 
92 #if 0
93 enum NavBoxLicensesOrderingStatus {
94  kNavBoxLicensesOrderingStatus_Succeeded = 0,
95  kNavBoxLicensesOrderingStatus_InvalidRequest,
96  kNavBoxLicensesOrderingStatus_NotPermitted,
97  kNavBoxLicensesOrderingStatus_SentForConfirmation
98 };
99 #endif
100 
101 enum NavBoxClientProperties {
102  kNavBoxClientProperty_Host = 0,
103  kNavBoxClientProperty_Port,
104  kNavBoxClientProperty_SecurityPort,
105  kNavBoxClientProperty_Login,
106  kNavBoxClientProperty_Password,
107  kNavBoxClientProperty_ExtendedLogEnabled,
108  kNavBoxClientProperty_SendTimeoutSec,
109  kNavBoxClientProperty_ReceiveTimeoutSec,
110  kNavBoxClientProperty_RootCertificate,
111 };
112 
117  kNavBoxRESTClientProperty_Host = kNavBoxClientProperty_Host,
118  kNavBoxRESTClientProperty_Port = kNavBoxClientProperty_Port,
119  kNavBoxRESTClientProperty_TimeoutSec = kNavBoxClientProperty_SendTimeoutSec,
120  kNavBoxRESTClientProperty_RootCertificate = kNavBoxClientProperty_RootCertificate,
121  kNavBoxRESTClientProperty_SoftwareHost = kNavBoxClientProperty_RootCertificate + 1,
126 };
128 
129 enum NavBoxConfigurationProperties {
130  kNavBoxConfigurationProperty_NavBoxVersion = 0,
131  kNavBoxConfigurationProperty_SubscriptionBits,
132  kNavBoxConfigurationProperty_NavBoxId,
133  kNavBoxConfigurationProperty_NavBoxDatabaseName,
134  kNavBoxConfigurationProperty_VesselName,
135  kNavBoxConfigurationProperty_MMSINumber,
136  kNavBoxConfigurationProperty_CallSign,
137  kNavBoxConfigurationProperty_IMONumber,
138 };
139 
140 enum FileStreamRequestFileTypes {
141  kFileStreamFileType_Files = 0,
142  kFileStreamFileType_Directories,
143  kFileStreamFileType_All
144 };
145 
146 enum FileStreamHashType {
147  kFileStreamHashType_MD5 = 0,
148  kFileStreamHashType_SHA1 = 1,
149  kFileStreamHashType_SHA224 = 2,
150  kFileStreamHashType_SHA256 = 3,
151  kFileStreamHashType_SHA384 = 4,
152  kFileStreamHashType_SHA512 = 5
153 };
154 
155 enum FileStreamProperties {
156  kFileStreamProperties_Host = kNavBoxClientProperty_Host,
157  kFileStreamProperties_Port = kNavBoxClientProperty_Port,
158  kFileStreamProperties_ExtendedLogEnabled = kNavBoxClientProperty_ExtendedLogEnabled,
159  kFileStreamProperties_ReceiveTimeoutSec = kNavBoxClientProperty_ReceiveTimeoutSec,
160  kFileStreamProperties_RootCertificate = kNavBoxClientProperty_RootCertificate,
161  kFileStreamProperties_RootFolder,
162  kFileStreamProperties_DBPath,
163  kFileStreamProperties_StreamAutoCloseTimeoutSec,
164  kFileStreamProperties_AllowedSubfolders,
165  kFileStreamProperties_Certificate,
166  kFileStreamProperties_PrivateKey
167 };
168 
169 enum NavStickFileStreamProperties {
170  kNavStickFileStreamProperties_DBPath = kFileStreamProperties_DBPath,
171  kNavStickFileStreamProperties_DBFileType = kFileStreamProperties_PrivateKey + 1,
172  kFileStreamProperties_IsNavStick = kFileStreamProperties_PrivateKey + 2,
173 };
174 
175 enum ECDISModel {
176  kECDISModel_FurunoFMD = 0,
177  kECDISModel_Navtor = 1
178 };
179 
180 enum FeatureSubscriptionBit {
181  kFeatureSubscriptionBit_None = 0, //
182  kFeatureSubscriptionBit_0x1 = 0x1, // 0
183  kFeatureSubscriptionBit_Weather = 0x2, // 1
184  kFeatureSubscriptionBit_NavStation = 0x4, // 2
185  kFeatureSubscriptionBit_0x8 = 0x8, // 3
186  kFeatureSubscriptionBit_ATT = 0x10, // 4
187  kFeatureSubscriptionBit_ADLL = 0x20, // 5
188  kFeatureSubscriptionBit_ADRS_6 = 0x40, // 6
189  kFeatureSubscriptionBit_ADRS_2 = 0x80, // 7
190  kFeatureSubscriptionBit_ADRS_1345 = 0x100, // 8
191  kFeatureSubscriptionBit_Cyclones = 0x200, // 9
192  kFeatureSubscriptionBit_Icebergs = 0x400, // 10
193  kFeatureSubscriptionBit_0x800 = 0x800, // 11
194  kFeatureSubscriptionBit_Piracy = 0x1000, // 12
195  kFeatureSubscriptionBit_eNP = 0x2000, // 13
196  kFeatureSubscriptionBit_0x4000 = 0x4000, // 14
197  kFeatureSubscriptionBit_0x8000 = 0x8000, // 15
198  kFeatureSubscriptionBit_SECA_ECA = 0x10000, // 16
199  kFeatureSubscriptionBit_Risk_Zones = 0x20000, // 17
200  kFeatureSubscriptionBit_0x40000 = 0x40000, // 18
201  kFeatureSubscriptionBit_Ship_Reporting = 0x80000, // 19 ///< Ship reporting: AMVER, etc
202  kFeatureSubscriptionBit_WNI_OSR_Integration = 0x100000, // 20 ///< WNI Optimized ship's routing
203  kFeatureSubscriptionBit_WNI_Weather_Routing_Simulation = 0x200000, // 21 ///< WNI weather routing simulation
204  kFeatureSubscriptionBit_WNI_DoscaDX_Branding = 0x400000, // 22 ///< WNI Dosca DX branding
205  kFeatureSubscriptionBit_PassagePlanning = 0x800000, // 23
206  kFeatureSubscriptionBit_ManoeuvringAssistant = 0x1000000, // 24
207  kFeatureSubscriptionBit_MARPOL = 0x2000000, // 25
208  kFeatureSubscriptionBit_IMOPublications = 0x4000000, // 26
209  kFeatureSubscriptionBit_TMSData = 0x8000000, // 27 ///< Environmental Regulations
210  kFeatureSubscriptionBit_MRS_Reporting = 0x40000000, // 30 ///< Reporting areas/MRS/SESAME
211 };
212 
213 // \brief Vessel static data properties.
214 enum VesselStaticDataProperty {
215  kVesselStaticData_Name = 0,
216  kVesselStaticData_CallSign,
217  kVesselStaticData_IMO,
218  kVesselStaticData_MMSI
219 };
220 
221 // \brief Vessel data properties.
222 enum VesselDataProperty {
223  kVesselData_Name = kVesselStaticData_Name,
224  kVesselData_CallSign = kVesselStaticData_CallSign,
225  kVesselData_IMO = kVesselStaticData_IMO,
226  kVesselData_MMSI = kVesselStaticData_MMSI,
227 
228  kVesselData_Breadth,
229  kVesselData_BuiltYear,
230  kVesselData_DeadWeight,
231  kVesselData_GetDraugth,
232  kVesselData_Flag,
233  kVesselData_GrossTonnage,
234  kVesselData_Length,
235  kVesselData_VesselGroup,
236  kVesselData_VesselType
237 };
238 
239 // \brief Simulation way point properties.
241  kSimulationWaypointProperty_Lat = 0,
242  kSimulationWaypointProperty_Lon,
266 };
267 
268 // \brief WNI waypoint type.
269 enum WNIWaypointType {
270  kWNIWaypointType_BEG = 0,
271 
272  kWNIWaypointType_Waypoint = kWNIWaypointType_BEG, // Normal waypoint
273  kWNIWaypointType_SOSP, // Start of sea passage
274  kWNIWaypointType_EOSP, // End of sea passage
275 
276  kWNIWaypointType_END
277 };
278 
279 // \brief WNI leg point properties.
285 };
286 
287 // \brief WNI fuel type.
288 enum WNIFuelType {
289  kWNIFuelType_BEG = 0,
290 
291  kWNIFuelType_foSulphurOver10 = kWNIFuelType_BEG,
292  kWNIFuelType_foSulphurMax10,
293  kWNIFuelType_foSulphurMax05,
294  kWNIFuelType_foSulphurMax01,
295  kWNIFuelType_doSulphurOver05,
296  kWNIFuelType_doSulphurMax05,
297  kWNIFuelType_doSulphurMax01,
298  kWNIFuelType_goSulphurOver05,
299  kWNIFuelType_goSulphurMax05,
300  kWNIFuelType_goSulphurMax01,
301 
302  kWNIFuelType_END
303 };
304 
305 // \brief WNI loading condition.
306 enum WNILoadingCondition {
307  kWNILoadingCondition_BEG = 0,
308 
309  kWNILoadingCondition_Ballast = kWNILoadingCondition_BEG,
310  kWNILoadingCondition_Laden,
311 
312  kWNILoadingCondition_END
313 };
314 
315 // \brief WNI on deck cargo type.
316 enum WNIOnDeckCargoType {
317  kWNIOnDeckCargoType_BEG = 0,
318 
319  kWNIOnDeckCargoType_Loaded = kWNIOnDeckCargoType_BEG,
320  kWNIOnDeckCargoType_NoCargo,
321 
322  kWNIOnDeckCargoType_END
323 };
324 
325 // \brief WNI simulation ship class.
326 enum WNIShipClass {
327  kWNIShipClass_Container = 1,
328  kWNIShipClass_PCTC = 2,
329  kWNIShipClass_Other = 3,
330 };
331 
332 // \brief WNI simulation ship properties.
333 enum WNISimulationShipProperty {
334  kWNISimulationShipProperty_BEG = 0,
335 
336  kWNISimulationShipProperty_PowerAtMCR = kWNISimulationShipProperty_BEG,
337  kWNISimulationShipProperty_RPMAtMCR,
338  kWNISimulationShipProperty_SpeedAtMCR,
339  kWNISimulationShipProperty_Deadweight,
340  kWNISimulationShipProperty_DraftFore,
341  kWNISimulationShipProperty_DraftAft,
342  kWNISimulationShipProperty_SummerDraft,
343  kWNISimulationShipProperty_ShipClass,
344 
345  kWNISimulationShipProperty_END
346 };
347 
348 // \brief NVI properties.
350  kNVIProperty_BEG = 0,
351  kNVIProperty_VesselName = kNVIProperty_BEG,
401  kNVIProperty_END,
402 };
403 
404 static const char kChartCatalog_AdditionalPublication[] = "AdditionalPublicationCatalog";
405 static const char kChartCatalog_EncCatalog[] = "EncCatalog";
406 static const char kChartCatalog_PaperChartCatalog[] = "PaperChartCatalog";
407 
408 static const wchar_t kFileStreamServer_LockObjectName[] = L"NavtorFileStreamServerLockObject";
409 static const wchar_t kFileStreamServer_LockedEventName[] = L"NavtorFileStreamServerLockedEvent";
410 static const SDKUInt32 kFileStreamServer_MutexCheckTimeout_Sec = 3;
411 
412 // \brief Vessel event properties.
414  kVesselEventPropertyID_BEG = 1,
423  kVesselEventPropertyID_END
424 };
425 
432 };
434 
435 class INavBoxClient : public ISDKProperties {
436 public:
441  virtual SDKResult SDK_CALLTYPE EnumFiles(
442  NavBoxFileType file_type,
443  INavBoxFileInfoListSP& files) const throw() = 0;
444 
450  virtual SDKResult SDK_CALLTYPE ReadFile(
451  NavBoxFileType file_type,
452  const SDKString& file_name,
453  SDKArray& file_content) const throw() = 0;
454 
459  virtual SDKResult SDK_CALLTYPE WriteFile(
460  NavBoxFileType file_type,
461  const SDKString& file_name,
462  const SDKArray& file_content) const throw() = 0;
463 
467  virtual SDKResult SDK_CALLTYPE RemoveFile(
468  NavBoxFileType file_type,
469  const SDKString& file_name) const throw() = 0;
470 
473  virtual SDKResult SDK_CALLTYPE ReadConfiguration(
474  ISDKPropertiesSP& configuration) const throw() = 0;
475 
479  virtual SDKResult SDK_CALLTYPE SaveStatusReport(
480  const SDKString& file_name,
481  const SDKArray& file_content) const throw() = 0;
482 
486  virtual SDKResult SDK_CALLTYPE GetPPSchema(
487  SDKArray& file_content) const throw() = 0;
488 
490  virtual SDKResult SDK_CALLTYPE SyncDatabase() const throw() = 0;
491 
497  virtual SDKResult SDK_CALLTYPE GetConnectedVessels(
498  ICollectionSDKComponentSP& vessels) const throw() = 0;
499 
506  virtual SDKResult SDK_CALLTYPE ListRoutesFromOtherVessels(
507  ICollectionSDKComponentSP& route_list) const throw() = 0;
508 
514  virtual SDKResult SDK_CALLTYPE AcceptRouteFromOtherVessel(
515  SDKUInt32 route_id) const throw() = 0;
516 
522  virtual SDKResult SDK_CALLTYPE DeclineRouteFromOtherVessel(
523  SDKUInt32 route_id) const throw() = 0;
524 
532  virtual SDKResult SDK_CALLTYPE SendRouteToVessels(
533  const SDKArray& vessel_ids,
534  NavBoxFileType route_file_type,
535  const SDKString& route_name) const throw() = 0;
536 
540  virtual SDKResult SDK_CALLTYPE GetWeatherDatabases(
541  SDKString& path_to_weather_data,
542  ICollectionSDKStringSP& databases) const throw() = 0;
543 
546  virtual SDKResult SDK_CALLTYPE DeleteWeatherDatabase(
547  const SDKString& database) const throw() = 0;
548 
551  virtual SDKResult SDK_CALLTYPE SetPortInfo(
552  const IPortInfoSP& port_info) const throw() = 0;
553 
557  virtual SDKResult SDK_CALLTYPE GetPortInfo(
558  const SDKString& port_name,
559  IPortInfoSP& port_info) const throw() = 0;
560 
564  virtual SDKResult SDK_CALLTYPE FindPort(
565  const SDKString& sql_request,
566  ICollectionSDKStringSP& port_names) const throw() = 0;
567 
571  virtual SDKResult SDK_CALLTYPE FindPortByName(
572  const SDKString& name_filter,
573  ICollectionSDKStringSP& port_names) const throw() = 0;
574 
577  virtual SDKResult SDK_CALLTYPE ErasePort(
578  const SDKString& port_name) const throw() = 0;
579 
583  virtual SDKResult SDK_CALLTYPE NavTrackerGetChartCatalog(
584  const SDKString& catalog_name,
585  INavBoxChartCatalogSP& catalog) const throw() = 0;
586 
591  virtual SDKResult SDK_CALLTYPE GetPublicationsList(
592  ICollectionSDKComponentSP& publications_list) const throw() = 0;
593 
599  virtual SDKResult SDK_CALLTYPE FindInPublications(
600  const SDKString& search_text,
601  ICollectionSDKComponentSP& publications_list) const throw() = 0;
602 
603 #if 0
604  virtual SDKResult SDK_CALLTYPE NavTrackerGetVesselDetails(
605  INavBoxVesselDetailSP& vessel_detail) const throw() = 0;
606 
607  virtual SDKResult SDK_CALLTYPE NavTrackerGetRoutes(
608  ICollectionSDKComponentSP& routes) const throw() = 0;
609 
610  virtual SDKResult SDK_CALLTYPE NavTrackerSaveRoute(
611  const INavBoxRouteSP& route,
612  IConstCollectionSDKAnySP& route_ids) const throw() = 0;
613 
614  virtual SDKResult SDK_CALLTYPE NavTrackerDeleteRoute(
615  SDKInt32 route_id) const throw() = 0;
616 
617  virtual SDKResult SDK_CALLTYPE NavTrackerImportRoutes(
618  const SDKString& file_name,
619  const SDKArray& file_data,
620  SDKString& err_msg,
621  IConstCollectionSDKAnySP& route_ids) const throw() = 0;
622 
623  virtual SDKResult SDK_CALLTYPE NavTrackerGetRoutesLicensingData(
624  ICollectionSDKComponentSP& routes_licensing_data) const throw() = 0;
625 
626  virtual SDKResult SDK_CALLTYPE NavTrackerSetRouteLicensingData(
627  const INavBoxRouteLicensingDataSP& route_licensing_data) const throw() = 0;
628 
629  virtual SDKResult SDK_CALLTYPE NavTrackerGetOrders(
630  ICollectionSDKComponentSP& orders) const throw() = 0;
631 
632  virtual SDKResult SDK_CALLTYPE NavTrackerOrderChartLicensesForRoutes(
633  const IConstCollectionSDKAnySP& route_ids,
634  const ICollectionSDKComponentSP& charts_to_order,
635  NavBoxLicensesOrderingStatus& ordering_status) const throw() = 0;
636 
637  virtual SDKResult SDK_CALLTYPE NavTrackerSetOperationalArea(
638  const SDKString& operational_area,
639  bool& is_operational_area_draft) const throw() = 0;
640 
641  virtual SDKResult SDK_CALLTYPE NavTrackerGetLastDataUpdateTimestamp(
642  SDKTime& last_data_update) const throw() = 0;
643 #endif
644 
646  virtual SDKResult SDK_CALLTYPE IsAENPSDKEnabled(
647  bool& is_enabled) const throw() = 0;
648 
653  virtual SDKResult SDK_CALLTYPE IsENPViewerRegistered(
654  const SDKString& hostname,
655  const SDKString& version,
656  bool& is_registered) const throw() = 0;
657 
663  virtual SDKResult SDK_CALLTYPE RegisterENPViewer(
664  const SDKString& hostname,
665  const SDKString& version,
666  const SDKString& machine_data) const throw() = 0;
667 
670  virtual SDKResult SDK_CALLTYPE GetVesselName(
671  SDKString& vessel_name) const throw() = 0;
672 
675  virtual SDKResult SDK_CALLTYPE GetVesselStaticData(
676  ISDKPropertiesSP& vessel_static_data) const throw() = 0;
677 
680  virtual SDKResult SDK_CALLTYPE GetVesselData(
681  ISDKPropertiesSP& vessel_data) const throw() = 0;
682 
684  virtual SDKResult SDK_CALLTYPE GetVesselEvent(
685  const SDKPropertyID& event_id,
686  SDKString& event_parameter) const throw() = 0;
687 
689  virtual SDKResult SDK_CALLTYPE SetVesselEvents(
690  const ISDKPropertiesSP& event_properties) const throw() = 0;
691 
695  virtual SDKResult SDK_CALLTYPE GetECDISClient(
696  IECDISClientSP& ecdis_client) const throw() = 0;
697 
699  virtual SDKResult SDK_CALLTYPE Interrupt() const throw() = 0;
700 
704  virtual SDKResult SDK_CALLTYPE ReadConfigurationFromContent(
705  const SDKString& content,
706  ISDKPropertiesSP& configuration) const throw() = 0;
707 
711  virtual SDKResult SDK_CALLTYPE WNISimulateRoute(
712  const ISimulationRouteSP& route_to_simulate,
713  ISimulationRouteSP& simulated_route) const throw() = 0;
714 
717  virtual SDKResult SDK_CALLTYPE WNISetParameters(
718  const ISimulationShipModelParamsSP& ship_model_params) const throw() = 0;
719 
722  virtual SDKResult SDK_CALLTYPE WNIGetParameters(
723  ISimulationShipModelParamsSP& ship_model_params,
724  bool get_default = false) const throw() = 0;
725 
730  virtual SDKResult SDK_CALLTYPE WNISimulateRouteWithParameters(
731  const ISimulationRouteSP& route_to_simulate,
732  const ISimulationShipModelParamsSP& ship_model_params,
733  ISimulationRouteSP& simulated_route) const throw() = 0;
734 
737  virtual SDKResult SDK_CALLTYPE WNIGetVoyageList(
738  ICollectionSDKStringSP& voyage_list) const throw() = 0;
739 
743  virtual SDKResult SDK_CALLTYPE WNIGetVoyage(
744  const SDKString& voyage_id, SDKString& voyage_json) const throw() = 0;
745 
749  virtual SDKResult SDK_CALLTYPE WNIGetNewestVoyage(
750  SDKString& voyage_id, SDKString& voyage_json) const throw() = 0;
751 
754  virtual SDKResult SDK_CALLTYPE WNIDelVoyage(
755  const SDKString& voyage_id) const throw() = 0;
756 
760  virtual SDKResult SDK_CALLTYPE WNISendNVI(
761  const IWNINVISP& nvi, const SDKString& route_name) const throw() = 0;
762 
765  virtual SDKResult SDK_CALLTYPE WNIGetNVIList(
766  ICollectionSDKStringSP& nvi_list) const throw() = 0;
767 
771  virtual SDKResult SDK_CALLTYPE WNIGetNVI(
772  const SDKString& nvi_id, IWNINVISP& nvi) const throw() = 0;
773 
776  virtual SDKResult SDK_CALLTYPE WNIDelNVI(
777  const SDKString& nvi_id) const throw() = 0;
778 
781  virtual SDKResult SDK_CALLTYPE WNISendIntended(
782  const SDKString& route_id) const throw() = 0;
783 
786  virtual SDKResult SDK_CALLTYPE GetPortLocodes(
787  ICollectionSDKComponentSP& port_locodes) const throw() = 0;
788 
791  virtual SDKResult SDK_CALLTYPE GetPortCountries(
792  ICollectionSDKComponentSP& port_countries) const throw() = 0;
793 
797  virtual SDKResult SDK_CALLTYPE GetPositionFromLocode(
798  const SDKString& port_locode,
799  SDKGeoPoint& port_position) const throw() = 0;
800 
804  virtual SDKResult SDK_CALLTYPE SendReport(
805  const SDKString& report_type,
806  const SDKString& report_body) const throw() = 0;
807 
809  virtual SDKResult SDK_CALLTYPE GetCommunicationInfo(
810  SDKString& communication_info) const throw() = 0;
811 
813  virtual SDKResult SDK_CALLTYPE CheckConnection() const throw() = 0;
814 
815  SDK_IMPLEMENT_IID(INavBoxClient)
816  SDK_END_INTERFACE(INavBoxClient)
817 };
818 SDK_DECLARE_IID(INavBoxClient)
819 
820 class IECDISClient : public ISDKProperties {
821 public:
823  virtual SDKResult SDK_CALLTYPE RegisterConnectedECDIS(
824  const INavBoxConnectedECDISInfoSP& ecdis,
825  const INavBoxECDISConnectionParametersSP& ecdis_parameters) const throw() = 0;
826 
830  virtual SDKResult SDK_CALLTYPE ListRoutesOnNavBox(
831  INavBoxFileInfoListSP& files) const throw() = 0;
832 
834  virtual SDKResult SDK_CALLTYPE LoadRouteFromNavBox(
835  const SDKString& route_name,
836  const SDKString& route_format,
837  SDKArray& route_content) const throw() = 0;
838 
840  virtual SDKResult SDK_CALLTYPE SaveRouteToNavBox(
841  const SDKString& route_name,
842  const SDKString& route_format,
843  const SDKArray& route_content) const throw() = 0;
844 
846  virtual SDKResult SDK_CALLTYPE GetSupportedRouteFormatsOnNavBox(
847  ICollectionSDKStringSP& route_formats) const throw() = 0;
848 
850  virtual SDKResult SDK_CALLTYPE GetListOfConnectedECDISes(
851  ICollectionSDKComponentSP& connected_ecdises) const throw() = 0;
852 
854  virtual SDKResult SDK_CALLTYPE GetRouteFromECDIS(
855  const INavBoxConnectedECDISInfoSP& ecdis,
856  const SDKString& route_name) const throw() = 0;
857 
859  virtual SDKResult SDK_CALLTYPE SendRouteToECDIS(
860  const INavBoxConnectedECDISInfoSP& ecdis,
861  const SDKString& route_name) const throw() = 0;
862 
864  virtual SDKResult SDK_CALLTYPE ListRoutesOnECDIS(
865  const INavBoxConnectedECDISInfoSP& ecdis,
866  INavBoxFileInfoListSP& route_list) const throw() = 0;
867 
869  virtual SDKResult SDK_CALLTYPE CreateConnectedECDISInfo(
870  SDKUInt32 ecdis_model,
871  const SDKString& ecdis_name,
872  INavBoxConnectedECDISInfoSP& ecdis_info) const throw() = 0;
873 
875  virtual SDKResult SDK_CALLTYPE CreateECDISConnectionParameters(
876  const SDKString& address,
877  const SDKString& security_address,
878  const SDKString& access_code,
879  const SDKString& serial,
880  const SDKString& route_format,
881  INavBoxECDISConnectionParametersSP& ecdis_parameters) const throw() = 0;
882 
884  virtual SDKResult SDK_CALLTYPE Interrupt() const throw() = 0;
885 
886  SDK_IMPLEMENT_IID(IECDISClient)
887  SDK_END_INTERFACE(IECDISClient)
888 };
889 SDK_DECLARE_IID(IECDISClient)
890 
891 class IFileStreamClient : public ISDKProperties {
892 public:
897  virtual SDKResult SDK_CALLTYPE GetFiles(
898  const SDKString& folder,
899  FileStreamRequestFileTypes file_types,
900  IFileStreamFileInfoListSP& files) const throw() = 0;
901 
905  virtual SDKResult SDK_CALLTYPE OpenFileStream(
906  const SDKString& file,
907  SDK_BASE_NAMESPACE::SDKStreamSP& stream) const throw() = 0;
908 
912  virtual SDKResult SDK_CALLTYPE OpenDBFileStream(
913  SDKUInt32 file_id,
914  SDK_BASE_NAMESPACE::SDKStreamSP& stream) const throw() = 0;
915 
921  virtual SDKResult SDK_CALLTYPE GetResourceStorage(
922  const SDKString* root_path,
923  base::SDKResourceStorageSP& storage) throw() = 0;
924 
931  virtual SDKResult SDK_CALLTYPE CalculateHash(
932  SDK_BASE_NAMESPACE::SDKStreamSP& stream,
933  SDK_BASE_NAMESPACE::ISDKStream::Position pos,
934  SDK_BASE_NAMESPACE::ISDKStream::DataSize size,
935  FileStreamHashType hash_type,
936  SDKArray& hash) const throw() = 0;
937 
938  SDK_IMPLEMENT_IID(IFileStreamClient)
939  SDK_END_INTERFACE(IFileStreamClient)
940 };
941 SDK_DECLARE_IID(IFileStreamClient)
942 
943 class IFileStreamServer : public ISDKProperties {
944 public:
946  virtual SDKResult SDK_CALLTYPE Start() throw() = 0;
947 
949  virtual SDKResult SDK_CALLTYPE Shutdown() throw() = 0;
950 
952  virtual SDKResult SDK_CALLTYPE Wait() throw() = 0;
953 
954  SDK_IMPLEMENT_IID(IFileStreamServer)
955  SDK_END_INTERFACE(IFileStreamServer)
956 };
957 SDK_DECLARE_IID(IFileStreamServer)
958 
959 class IECDISServiceClient : public ISDKProperties {
960 public:
964  virtual SDKResult SDK_CALLTYPE EnumSupportedRouteFormats(
965  ICollectionSDKStringSP& formats) const throw() = 0;
966 
970  virtual SDKResult SDK_CALLTYPE EnumRoutes(
971  INavBoxFileInfoListSP& routes) const throw() = 0;
972 
978  virtual SDKResult SDK_CALLTYPE LoadRoute(
979  const SDKString& route_name,
980  const SDKString& route_format,
981  SDKArray& route_content) const throw() = 0;
982 
987  virtual SDKResult SDK_CALLTYPE SaveRoute(
988  const SDKString& route_name,
989  const SDKString& route_format,
990  const SDKArray& route_content) const throw() = 0;
991 
993  virtual SDKResult SDK_CALLTYPE Interrupt() const throw() = 0;
994 
995  SDK_IMPLEMENT_IID(IECDISServiceClient)
996  SDK_END_INTERFACE(IECDISServiceClient)
997 };
998 SDK_DECLARE_IID(IECDISServiceClient)
999 
1002 public:
1006  virtual SDKResult SDK_CALLTYPE EnumSupportedRouteFormats(
1007  ICollectionSDKStringSP& formats) const throw() = 0;
1008 
1012  virtual SDKResult SDK_CALLTYPE EnumRoutes(
1013  INavBoxFileInfoListSP& routes) const throw() = 0;
1014 
1020  virtual SDKResult SDK_CALLTYPE LoadRoute(
1021  const SDKString& route_name,
1022  const SDKString& route_format,
1023  SDKArray& route_content) const throw() = 0;
1024 
1029  virtual SDKResult SDK_CALLTYPE SaveRoute(
1030  const SDKString& route_name,
1031  const SDKString& route_format,
1032  const SDKArray& route_content) const throw() = 0;
1033 
1034  SDK_IMPLEMENT_IID(IECDISServiceServerCallback)
1035  SDK_END_INTERFACE(IECDISServiceServerCallback)
1036 };
1037 SDK_DECLARE_IID(IECDISServiceServerCallback)
1038 
1039 class IECDISServiceServer : public ISDKProperties {
1040 public:
1042  virtual SDKResult SDK_CALLTYPE Start() throw() = 0;
1043 
1045  virtual SDKResult SDK_CALLTYPE Shutdown() throw() = 0;
1046 
1048  virtual SDKResult SDK_CALLTYPE Wait() throw() = 0;
1049 
1050  SDK_IMPLEMENT_IID(IECDISServiceServer)
1051  SDK_END_INTERFACE(IECDISServiceServer)
1052 };
1053 SDK_DECLARE_IID(IECDISServiceServer)
1054 
1059 public:
1061  virtual SDKResult SDK_CALLTYPE GetItemCount(
1062  SDKUInt32* item_count) const throw() = 0;
1063 
1065  virtual SDKResult SDK_CALLTYPE GetItem(
1066  SDKUInt32 item_index,
1067  INavBoxFileInfoSP& value) const throw() = 0;
1068 
1069  SDK_IMPLEMENT_IID(INavBoxFileInfoList)
1070  SDK_END_INTERFACE(INavBoxFileInfoList)
1071 };
1072 SDK_DECLARE_IID(INavBoxFileInfoList)
1074 
1079 public:
1081  virtual SDKResult SDK_CALLTYPE GetName(
1082  SDKString& name) const throw() = 0;
1083 
1085  virtual SDKResult SDK_CALLTYPE GetSize(
1086  SDKUInt32& size) const throw() = 0;
1087 
1089  virtual SDKResult SDK_CALLTYPE GetLastModified(
1090  SDKTime& time) const throw() = 0;
1091 
1092  SDK_IMPLEMENT_IID(INavBoxFileInfo)
1093  SDK_END_INTERFACE(INavBoxFileInfo)
1094 };
1095 SDK_DECLARE_IID(INavBoxFileInfo)
1097 
1098 // \brief Provides access to NavBoxChartCatalog.
1099 class INavBoxChartCatalog : public ICollectionSDKComponent {
1100 public:
1102  virtual SDKResult SDK_CALLTYPE GetName(
1103  SDKString& name) const throw() = 0;
1104 
1106  virtual SDKResult SDK_CALLTYPE GetVersion(
1107  SDKUInt64& version) const = 0;
1108 
1109  SDK_IMPLEMENT_IID(INavBoxChartCatalog)
1110  SDK_END_INTERFACE(INavBoxChartCatalog)
1111 };
1112 SDK_DECLARE_IID(INavBoxChartCatalog)
1113 
1114 // \brief ChartCatalogItem properties
1115 enum ChartCatalogItemPropertiesEnum {
1116  kChartCatalogItemProperty_Title = 0,
1117  kChartCatalogItemProperty_Flags,
1118  kChartCatalogItemProperty_NewEditionDate,
1119  kChartCatalogItemProperty_Cost3,
1120  kChartCatalogItemProperty_Cost6,
1121  kChartCatalogItemProperty_Cost12,
1122  kChartCatalogItemProperty_ProductTypeId
1123 };
1124 
1125 // \brief kChartCatalogItemProperty_Flags property values
1126 enum ChartCatalogItemFlagsEnum {
1127  kChartCatalogItemFlag_None = 0,
1128  kChartCatalogItemFlag_PAYS_Navtor = 1,
1129  kChartCatalogItemFlag_Primar = 2,
1130  kChartCatalogItemFlag_Navtor = 4,
1131  kChartCatalogItemFlag_AVCS = 8,
1132  kChartCatalogItemFlag_PAYS_AVCS = 16,
1133  kChartCatalogItemFlag_Transit = 256,
1134  kChartCatalogItemFlag_Regional = 512,
1135  kChartCatalogItemFlag_Port = 1024,
1136  kChartCatalogItemFlag_PaperChart = 2048,
1137  kChartCatalogItemFlag_PaperPublication = 4096,
1138  kChartCatalogItemFlag_AdditionalPublication = 8192,
1139 };
1140 
1141 // \brief Provides access to NavBoxChartCatalogItem.
1142 class INavBoxChartCatalogItem : public ISDKProperties {
1143 public:
1146  virtual SDKResult SDK_CALLTYPE GetName(
1147  SDKString& name) const throw() = 0;
1148 
1151  virtual SDKResult SDK_CALLTYPE GetGeometry(
1152  SDK_GEOMETRY_NAMESPACE::IGeometrySP& geometry) const throw() = 0;
1153 
1154  SDK_IMPLEMENT_IID(INavBoxChartCatalogItem)
1155  SDK_END_INTERFACE(INavBoxChartCatalogItem)
1156 };
1157 SDK_DECLARE_IID(INavBoxChartCatalogItem)
1158 
1159 // \brief CorrectionType
1160 enum CorrectionInfoType {
1161  kCorrectionInfoType_Update = 0x00,
1162  kCorrectionInfoType_Temporary = 0x01,
1163  kCorrectionInfoType_Preliminary = 0x02,
1164  kCorrectionInfoType_TemporaryOrPreliminary =
1165  kCorrectionInfoType_Temporary | kCorrectionInfoType_Preliminary,
1166  kCorrectionInfoType_Miscellanious = 0x04,
1167 };
1168 
1169 // \brief CorrectionInfo properties
1170 enum CorrectionInfoPropertiesEnum {
1171  kCorrectionInfoProperty_NmNumber = 0,
1172  kCorrectionInfoProperty_PublicationWeekNumber,
1173  kCorrectionInfoProperty_PublicationYear,
1174  kCorrectionInfoProperty_Type,
1175  kCorrectionInfoProperty_IsCancelled
1176 };
1177 
1178 // \brief Provides access to NavBoxChartCatalogItem CorrectionInfo.
1179 class INavBoxChartCatalogItemCorrectionInfo : public ISDKProperties {
1180 public:
1182  virtual SDKUInt32 SDK_CALLTYPE Year() const = 0;
1183 
1184  SDK_IMPLEMENT_IID(INavBoxChartCatalogItemCorrectionInfo)
1185  SDK_END_INTERFACE(INavBoxChartCatalogItemCorrectionInfo)
1186 };
1187 SDK_DECLARE_IID(INavBoxChartCatalogItemCorrectionInfo)
1188 
1189 // \brief Provides access to Publication.
1190 class INavBoxPublication : public ISDKComponent {
1191 public:
1193  virtual SDKResult SDK_CALLTYPE GetId(
1194  SDKInt32& id) const throw() = 0;
1195 
1197  virtual SDKResult SDK_CALLTYPE GetKey(
1198  SDKString& key) const throw() = 0;
1199 
1201  virtual SDKResult SDK_CALLTYPE GetTitle(
1202  SDKString& title) const throw() = 0;
1203 
1205  virtual SDKResult SDK_CALLTYPE GetCategory(
1206  SDKString& category) const throw() = 0;
1207 
1209  virtual SDKResult SDK_CALLTYPE GetThumbnail(
1210  SDKString& thumbnail) const throw() = 0;
1211 
1213  virtual SDKResult SDK_CALLTYPE GetAppendixFor(
1214  SDKString& appendix_for) const throw() = 0;
1215 
1217  virtual SDKResult SDK_CALLTYPE GetCode(
1218  SDKString& code) const throw() = 0;
1219 
1221  virtual SDKResult SDK_CALLTYPE GetSubCategory(
1222  SDKString& sub_category) const throw() = 0;
1223 
1225  virtual SDKResult SDK_CALLTYPE GetEditionDate(
1226  SDKTime& edition_date) const throw() = 0;
1227 
1229  virtual bool SDK_CALLTYPE IsNewEditionAvailable() const throw() = 0;
1230 
1231  SDK_IMPLEMENT_IID(INavBoxPublication)
1232  SDK_END_INTERFACE(INavBoxPublication)
1233 };
1234 SDK_DECLARE_IID(INavBoxPublication)
1235 
1236 // \brief Provides access to PortInfo.
1237 class IPortInfo : public ISDKComponent {
1238 public:
1240  virtual SDKResult SDK_CALLTYPE GetName(
1241  SDKString& port_name) const throw() = 0;
1242 
1244  virtual SDKResult SDK_CALLTYPE GetCountry(
1245  SDKString& port_country) const throw() = 0;
1246 
1248  virtual SDKResult SDK_CALLTYPE GetVHFChannelPortControl(
1249  SDKString& channel) const throw() = 0;
1250 
1252  virtual SDKResult SDK_CALLTYPE GetVHFChannelPilots(
1253  SDKString& channel) const throw() = 0;
1254 
1256  virtual SDKResult SDK_CALLTYPE GetPreDepartureNoticeTo(
1257  SDKString& channel) const throw() = 0;
1258 
1260  virtual SDKResult SDK_CALLTYPE GetVHFChannel(
1261  SDKString& channel) const throw() = 0;
1262 
1264  virtual SDKResult SDK_CALLTYPE GetDraughtRestrictions(
1265  SDKString& draught_restrictions) const throw() = 0;
1266 
1268  virtual SDKResult SDK_CALLTYPE GetAirDraughtRestrictions(
1269  SDKString& air_draught_restrictions) const throw() = 0;
1270 
1272  virtual SDKResult SDK_CALLTYPE GetOtherRestrictions(
1273  SDKString& other_restrictions) const throw() = 0;
1274 
1276  virtual SDKResult SDK_CALLTYPE GetGuideToPortEntry(
1277  SDKString& guide_to_port_entry) const throw() = 0;
1278 
1280  virtual SDKResult SDK_CALLTYPE GetExtraInfo(
1281  SDKString& extra_info) const throw() = 0;
1282 
1284  virtual SDKResult SDK_CALLTYPE GetTimeZone(
1285  SDKTimeDelta& tz) const throw() = 0;
1286 
1288  virtual SDKResult SDK_CALLTYPE GetTimeZoneDisplayName(
1289  SDKString& tz_display_name) const throw() = 0;
1290 
1292  virtual SDKResult SDK_CALLTYPE GetPosition(
1293  SDKGeoPoint& position) const throw() = 0;
1294 
1296  virtual SDKResult SDK_CALLTYPE GetNameOfBerth(
1297  SDKString& name_of_berth) const throw() = 0;
1298 
1299  SDK_IMPLEMENT_IID(IPortInfo)
1300  SDK_END_INTERFACE(IPortInfo)
1301 };
1302 SDK_DECLARE_IID(IPortInfo)
1303 
1304 // \brief Provides access to NavBoxVesselIDInfo.
1305 class INavBoxVesselIDInfo : public ISDKComponent {
1306 public:
1308  virtual SDKResult SDK_CALLTYPE GetID(SDKUInt32& id) const throw() = 0;
1309 
1311  virtual SDKResult SDK_CALLTYPE GetName(SDKString& name) const throw() = 0;
1312 
1313  SDK_IMPLEMENT_IID(INavBoxVesselIDInfo)
1314  SDK_END_INTERFACE(INavBoxVesselIDInfo)
1315 };
1316 SDK_DECLARE_IID(INavBoxVesselIDInfo)
1317 
1318 // \brief Provides access to ReceivedRouteInfo.
1319 class INavBoxReceivedRouteInfo : public ISDKComponent {
1320 public:
1322  virtual SDKResult SDK_CALLTYPE GetID(
1323  SDKUInt32& id) const throw() = 0;
1324 
1326  virtual SDKResult SDK_CALLTYPE GetFileName(
1327  SDKString& name) const throw() = 0;
1328 
1330  virtual SDKResult SDK_CALLTYPE GetDescription(
1331  SDKString& descr) const throw() = 0;
1332 
1334  virtual SDKResult SDK_CALLTYPE GetModifiedDate(
1335  SDKTime& date) const throw() = 0;
1336 
1338  virtual SDKResult SDK_CALLTYPE GetReceivedDate(
1339  SDKTime& date) const throw() = 0;
1340 
1341  virtual SDKResult SDK_CALLTYPE GetFromVessel(
1342  SDKString& vessel_name) const throw() = 0;
1343 
1344  virtual SDKResult SDK_CALLTYPE GetRouteFileType(
1345  NavBoxFileType& file_type) const throw() = 0;
1346 
1347  SDK_IMPLEMENT_IID(INavBoxReceivedRouteInfo)
1348  SDK_END_INTERFACE(INavBoxReceivedRouteInfo)
1349 };
1350 SDK_DECLARE_IID(INavBoxReceivedRouteInfo)
1351 
1352 // \brief Provides access to NavBoxConnectedECDIS.
1353 class INavBoxConnectedECDISInfo : public ISDKComponent {
1354 public:
1358  virtual SDKResult SDK_CALLTYPE GetModel(
1359  SDKUInt32& ecdis_model) const throw() = 0;
1360 
1364  virtual SDKResult SDK_CALLTYPE GetName(
1365  SDKString& ecdis_name) const throw() = 0;
1366 
1367  SDK_IMPLEMENT_IID(INavBoxConnectedECDISInfo)
1368  SDK_END_INTERFACE(INavBoxConnectedECDISInfo)
1369 };
1370 SDK_DECLARE_IID(INavBoxConnectedECDISInfo)
1371 
1372 // \brief Provides access to INavBoxECDISConnectionParameters.
1373 class INavBoxECDISConnectionParameters : public ISDKComponent {
1374 public:
1377  virtual SDKResult SDK_CALLTYPE GetAddress(
1378  SDKString& address) const throw() = 0;
1379 
1382  virtual SDKResult SDK_CALLTYPE GetSecurityAddress(
1383  SDKString& security_address) const throw() = 0;
1384 
1387  virtual SDKResult SDK_CALLTYPE GetAccessCode(
1388  SDKString& access_code) const throw() = 0;
1389 
1392  virtual SDKResult SDK_CALLTYPE GetSerial(
1393  SDKString& serial) const throw() = 0;
1394 
1397  virtual SDKResult SDK_CALLTYPE GetRouteFormat(
1398  SDKString& route_format) const throw() = 0;
1399 
1400  SDK_IMPLEMENT_IID(INavBoxECDISConnectionParameters)
1401  SDK_END_INTERFACE(INavBoxECDISConnectionParameters)
1402 };
1403 SDK_DECLARE_IID(INavBoxECDISConnectionParameters)
1404 
1405 class INavBoxRESTCallbacks : public ISDKComponent {
1409 public:
1411  virtual SDKResult SDK_CALLTYPE OnEvent(SDKResult request_result) throw() = 0;
1412 
1413  SDK_IMPLEMENT_IID(INavBoxRESTCallbacks)
1414  SDK_END_INTERFACE(INavBoxRESTCallbacks)
1415 };
1416 SDK_DECLARE_IID(INavBoxRESTCallbacks)
1418 
1422 class INavBoxRESTClient : public ISDKProperties {
1423 public:
1430  virtual SDKResult SDK_CALLTYPE GetNavBoxInfo(
1431  INavBoxRESTInfoSP& navbox_info) const throw() = 0;
1432 
1439  virtual SDKResult SDK_CALLTYPE GetRoutes(
1440  ICollectionSDKComponentSP& routes) const throw() = 0;
1441 
1453  virtual SDKResult SDK_CALLTYPE GetRoute(
1454  const SDKString& route_id,
1455  const SDKString& route_format,
1456  SDKArray& route_file_content) const throw() = 0;
1457 
1468  virtual SDKResult SDK_CALLTYPE CreateRoute(
1469  const SDKString& route_id,
1470  const SDKString& route_format,
1471  const SDKArray& route_file_content) const throw() = 0;
1472 
1483  virtual SDKResult SDK_CALLTYPE UpdateRoute(
1484  const SDKString& route_id,
1485  const SDKString& route_format,
1486  const SDKArray& route_file_content) const throw() = 0;
1487 
1493  virtual SDKResult SDK_CALLTYPE DeleteRoute(
1494  const SDKString& route_id) const throw() = 0;
1495 
1502  virtual SDKResult SDK_CALLTYPE GetENCSerial(
1503  SDKArray& enc_serial_file) const throw() = 0;
1504 
1511  virtual SDKResult SDK_CALLTYPE GetENCCatalog(
1512  SDKArray& catalog) const throw() = 0;
1513 
1520  virtual SDKResult SDK_CALLTYPE GetENCProducts(
1521  SDKArray& products) const throw() = 0;
1522 
1531  virtual SDKResult SDK_CALLTYPE GetENCPermits(
1532  const SDKString& sub_path,
1533  INavBoxFileInfoListSP& permits_file_info_list) const throw() = 0;
1534 
1543  virtual SDKResult SDK_CALLTYPE GetENCPermit(
1544  const SDKString& permit_file_pathname,
1545  SDKArray& permit_content) const throw() = 0;
1546 
1555  virtual SDKResult SDK_CALLTYPE GetENCData(
1556  const SDKString& file_path_name,
1557  SDKArray& file_content) const throw() = 0;
1558 
1567  virtual SDKResult SDK_CALLTYPE GetSENCFiles(
1568  const SDKString& sub_path,
1569  IFileStreamFileInfoListSP& senc_file_info_list) const throw() = 0;
1570 
1579  virtual SDKResult SDK_CALLTYPE GetSENCFileInfo(
1580  const SDKString& senc_file_pathname,
1581  IFileStreamFileInfoSP& senc_file_info) const throw() = 0;
1582 
1591  virtual SDKResult SDK_CALLTYPE OpenSENCFileStream(
1592  const SDKString& senc_file_pathname,
1593  SDK_BASE_NAMESPACE::SDKStreamSP& stream) const throw() = 0;
1594 
1603  virtual SDKResult SDK_CALLTYPE GetSENCResourceStorage(
1604  base::SDKResourceStorageSP& storage) throw() = 0;
1605 
1612  virtual SDKResult SDK_CALLTYPE SetCallback(
1613  const INavBoxRESTCallbacksSP& listener) throw() = 0;
1614 
1616  virtual SDKResult SDK_CALLTYPE CheckConnection() const throw() = 0;
1617 
1620  // virtual SDKResult SDK_CALLTYPE SetProperty(const SDKPropertyID& id, const SDKAny& value) throw() = 0;
1621  // virtual SDKResult SDK_CALLTYPE GetProperty(const SDKPropertyID& id, SDKAny& value) const throw() = 0;
1622 
1623 
1624  SDK_IMPLEMENT_IID(INavBoxRESTClient)
1625  SDK_END_INTERFACE(INavBoxRESTClient)
1626 };
1627 SDK_DECLARE_IID(INavBoxRESTClient)
1629 
1634 public:
1637  virtual SDKResult SDK_CALLTYPE GetVersion(
1638  SDKString& version) const throw() = 0;
1639 
1642  virtual SDKResult SDK_CALLTYPE GetRouteFormats(
1643  ICollectionSDKStringSP& route_formats) const throw() = 0;
1644 
1645  SDK_IMPLEMENT_IID(INavBoxRESTInfo)
1646  SDK_END_INTERFACE(INavBoxRESTInfo)
1647 };
1648 SDK_DECLARE_IID(INavBoxRESTInfo)
1650 
1655 public:
1657  virtual SDKResult SDK_CALLTYPE GetID(
1658  SDKString& id) const throw() = 0;
1659 
1661  virtual SDKResult SDK_CALLTYPE GetTitle(
1662  SDKString& title) const throw() = 0;
1663 
1665  virtual SDKResult SDK_CALLTYPE GetLastModified(
1666  SDKTime& time) const throw() = 0;
1667 
1668  SDK_IMPLEMENT_IID(INavBoxRESTRouteInfo)
1669  SDK_END_INTERFACE(INavBoxRESTRouteInfo)
1670 };
1671 SDK_DECLARE_IID(INavBoxRESTRouteInfo)
1673 
1678 public:
1680  virtual SDKResult SDK_CALLTYPE GetHashBlockCount(
1681  SDKUInt32& block_count) const throw() = 0;
1682 
1684  virtual SDKResult SDK_CALLTYPE GetHashBlock(
1685  SDKUInt32 block_index, SDKArray& hash_block) const throw() = 0;
1686 
1688  virtual SDKResult SDK_CALLTYPE GetBlockSize(
1689  SDKUInt32& block_size) const throw() = 0;
1690 
1691  SDK_IMPLEMENT_IID(INavBoxRESTFileInfo)
1692  SDK_END_INTERFACE(INavBoxRESTFileInfo)
1693 };
1694 SDK_DECLARE_IID(INavBoxRESTFileInfo)
1696 
1697 // \brief Provides access to FileStreamFileInfo.
1698 class IFileStreamFileInfo : public INavBoxFileInfo {
1699 public:
1701  virtual bool SDK_CALLTYPE IsDirectory() const = 0;
1702 
1703  SDK_IMPLEMENT_IID(IFileStreamFileInfo)
1704  SDK_END_INTERFACE(IFileStreamFileInfo)
1705 };
1706 SDK_DECLARE_IID(IFileStreamFileInfo)
1707 
1708 // \brief Provides access to FileStreamFileInfo collection.
1709 class IFileStreamFileInfoList : public ISDKComponent {
1710 public:
1712  virtual SDKResult SDK_CALLTYPE GetItemCount(
1713  SDKUInt32* item_count) const throw() = 0;
1714 
1716  virtual SDKResult SDK_CALLTYPE GetItem(
1717  SDKUInt32 item_index,
1718  IFileStreamFileInfoSP& value) const throw() = 0;
1719 
1720  SDK_IMPLEMENT_IID(IFileStreamFileInfoList)
1721  SDK_END_INTERFACE(IFileStreamFileInfoList)
1722 };
1723 SDK_DECLARE_IID(IFileStreamFileInfoList)
1724 
1725 // \brief Simulation waypoint interface.
1726 class ISimulationWaypoint : public ISDKComponent {
1727 public:
1729  virtual SDKResult SDK_CALLTYPE GetPosition(
1730  SDKGeoPoint& position) const throw() = 0;
1731 
1733  virtual SDKResult SDK_CALLTYPE GetProperty(
1735  SDKAny& value) const throw() = 0;
1736 
1738  template< typename T >
1739  SDKResult GetPropertyT(SimulationWaypointProperty id, T& out) const throw() {
1740  SDK_NAMESPACE::ScopedAny value;
1741  SDKResult res = GetProperty(id, value);
1742  if (SDK_FAILED(res))
1743  return res;
1744  if (ANY_IS_EMPTY(&value))
1745  return kSDKResult_NotExist;
1746  return value.GetAs< T >(out) ? kSDKResult_Succeeded :
1748  }
1749 
1750  SDK_IMPLEMENT_IID(ISimulationWaypoint)
1751  SDK_END_INTERFACE(ISimulationWaypoint)
1752 };
1753 SDK_DECLARE_IID(ISimulationWaypoint)
1754 
1755 // \brief Simulation route interface.
1756 class ISimulationRoute : public ISDKComponent {
1757 public:
1759  virtual SDKResult SDK_CALLTYPE GetWaypointsCount(
1760  SDKUInt32& count) const throw() = 0;
1761 
1763  virtual SDKResult SDK_CALLTYPE GetWaypoint(
1764  SDKUInt32 index,
1765  ISimulationWaypointSP& waypoint) const throw() = 0;
1766 
1768  virtual SDKResult SDK_CALLTYPE GetDepartureTime(
1769  SDKTime& ti) const throw() = 0;
1770 
1771  SDK_IMPLEMENT_IID(ISimulationRoute)
1772  SDK_END_INTERFACE(ISimulationRoute)
1773 };
1774 SDK_DECLARE_IID(ISimulationRoute)
1775 
1776 // \brief Simulation ship model parameters interface.
1777 class ISimulationShipModelParams : public ISDKProperties {
1778 public:
1780  virtual SDKResult SDK_CALLTYPE GetDeadweight(
1781  double& deadweight) const throw() = 0;
1783  virtual SDKResult SDK_CALLTYPE SetDeadweight(
1784  double deadweight) throw() = 0;
1786  virtual SDKResult SDK_CALLTYPE GetSummerDraft(
1787  double& summer_draft) const throw() = 0;
1789  virtual SDKResult SDK_CALLTYPE SetSummerDraft(
1790  double summer_draft) throw() = 0;
1791 
1792  SDK_IMPLEMENT_IID(ISimulationShipModelParams)
1793  SDK_END_INTERFACE(ISimulationShipModelParams)
1794 };
1795 SDK_DECLARE_IID(ISimulationShipModelParams)
1796 
1797 // \brief WMI NVI wypoint position
1798 SDK_PACK(struct WNINVIWaypointPosition {
1799  SDKGeoPoint pos;
1800  WNIWaypointType type;
1801 });
1802 
1803 // \brief WNILegPoint interface.
1804 class IWNILegPoint : public ISDKComponent {
1805 public:
1807  virtual SDKResult SDK_CALLTYPE GetPosition(
1808  WNINVIWaypointPosition& position) const throw() = 0;
1809 
1811  virtual SDKResult SDK_CALLTYPE GetProperty(
1813  SDKAny& value) const throw() = 0;
1814 
1816  template< typename T >
1817  SDKResult GetPropertyT(WNILegPointProperty id, T& out) const throw() {
1818  SDK_NAMESPACE::ScopedAny value;
1819  SDKResult res = GetProperty(id, value);
1820  if (SDK_FAILED(res))
1821  return res;
1822  if (ANY_IS_EMPTY(&value))
1823  return kSDKResult_NotExist;
1824  return value.GetAs< T >(out) ? kSDKResult_Succeeded :
1826  }
1827 
1828  SDK_IMPLEMENT_IID(IWNILegPoint)
1829  SDK_END_INTERFACE(IWNILegPoint)
1830 };
1831 SDK_DECLARE_IID(IWNILegPoint)
1832 
1833 // \brief WMI NVI range
1834 SDK_PACK(struct WNINVIRange {
1835  SDKInt32 from;
1836  SDKInt32 to;
1837 });
1838 
1839 // \brief WMI NVI interface.
1840 class IWNINVI : public ISDKComponent {
1841 public:
1843  virtual SDKResult SDK_CALLTYPE GetProperty(
1844  NVIProperty id,
1845  SDKAny& value) const throw() = 0;
1846 
1848  template< typename T >
1849  SDKResult GetPropertyT(NVIProperty id, T& out) const throw() {
1850  SDK_NAMESPACE::ScopedAny value;
1851  SDKResult res = GetProperty(id, value);
1852  if (SDK_FAILED(res))
1853  return res;
1854  if (ANY_IS_EMPTY(&value))
1855  return kSDKResult_NotExist;
1856  return value.GetAs< T >(out) ? kSDKResult_Succeeded :
1858  }
1859 
1861  virtual SDKResult SDK_CALLTYPE GetDeparturePilotStationPosition(
1862  WNINVIWaypointPosition& position) const throw() = 0;
1863 
1865  virtual SDKResult SDK_CALLTYPE GetDestinationPilotStationPosition(
1866  WNINVIWaypointPosition& position) const throw() = 0;
1867 
1869  virtual SDKResult SDK_CALLTYPE GetWNILegPointsCount(
1870  SDKUInt32& count) const throw() = 0;
1871 
1873  virtual SDKResult SDK_CALLTYPE GetWNILegPoint(
1874  SDKUInt32 index,
1875  IWNILegPointSP& waypoint) const throw() = 0;
1876 
1879  virtual SDKResult SDK_CALLTYPE GetMCRRange(
1880  WNINVIRange& mcr_range) const throw() = 0;
1881 
1884  virtual SDKResult SDK_CALLTYPE GetRPMRange(
1885  WNINVIRange& rpm_range) const throw() = 0;
1886 
1889  virtual SDKResult SDK_CALLTYPE GetUltraSlowRPMRange(
1890  WNINVIRange& ultra_slow_rpm_range) const throw() = 0;
1891 
1894  virtual SDKResult SDK_CALLTYPE GetUnusableMCRRange1(
1895  WNINVIRange& unusable_mcr_range) const throw() = 0;
1896 
1899  virtual SDKResult SDK_CALLTYPE GetUnusableMCRRange2(
1900  WNINVIRange& unusable_mcr_range) const throw() = 0;
1901 
1904  virtual SDKResult SDK_CALLTYPE GetUnusableRPMRange1(
1905  WNINVIRange& unusable_rpm_range) const throw() = 0;
1906 
1909  virtual SDKResult SDK_CALLTYPE GetUnusableRPMRange2(
1910  WNINVIRange& unusable_rpm_range) const throw() = 0;
1911 
1912  SDK_IMPLEMENT_IID(IWNINVI)
1913  SDK_END_INTERFACE(IWNINVI)
1914 };
1915 SDK_DECLARE_IID(IWNINVI)
1916 
1917 // \brief Port LOCODE interface.
1918 class IPortLocode : public ISDKComponent {
1919 public:
1921  virtual SDKResult SDK_CALLTYPE GetCountryCode(
1922  SDKString& country_code) const throw() = 0;
1923 
1925  virtual SDKResult SDK_CALLTYPE GetName(
1926  SDKString& name) const throw() = 0;
1927 
1929  virtual SDKResult SDK_CALLTYPE GetLocode(
1930  SDKString& locode) const throw() = 0;
1931 
1932  SDK_IMPLEMENT_IID(IPortLocode)
1933  SDK_END_INTERFACE(IPortLocode)
1934 };
1935 SDK_DECLARE_IID(IPortLocode)
1936 
1937 // \brief Port country interface.
1938 class IPortCountry : public ISDKComponent {
1939 public:
1941  virtual SDKResult SDK_CALLTYPE GetAlpha3Code(
1942  SDKString& alpha_3_code) const throw() = 0;
1943 
1945  virtual SDKResult SDK_CALLTYPE GetName(
1946  SDKString& name) const throw() = 0;
1947 
1948  SDK_IMPLEMENT_IID(IPortCountry)
1949  SDK_END_INTERFACE(IPortCountry)
1950 };
1951 SDK_DECLARE_IID(IPortCountry)
1952 
1953 class INavBoxDataLayersClient : public ISDKComponent {
1957 public:
1961  virtual SDKResult SDK_CALLTYPE GetAllLayers(
1962  ICollectionSDKComponentSP& data_layers,
1963  bool include_removed = false) const throw() = 0;
1964 
1967  virtual SDKResult SDK_CALLTYPE CreateLayer(
1968  INavBoxDataLayerSP& data_layer) const throw() = 0;
1969 
1973  virtual SDKResult SDK_CALLTYPE UpdateLayer(
1974  const SDKString& layer_id,
1975  const INavBoxDataLayerSP& updated_data_layer) const throw() = 0;
1976 
1979  virtual SDKResult SDK_CALLTYPE DeleteLayer(
1980  const SDKString& layer_id) const throw() = 0;
1981 
1984  virtual SDKResult SDK_CALLTYPE GetAllAttachments(
1985  ICollectionSDKComponentSP& attachments) const throw() = 0;
1986 
1990  virtual SDKResult SDK_CALLTYPE CreateAttachment(
1991  INavBoxDataObjectAttachmentInfoSP& attachment,
1992  const SDKArray& attachment_content) const throw() = 0;
1993 
1997  virtual SDKResult SDK_CALLTYPE GetAttachment(
1998  const SDKString& attachment_id,
1999  SDKArray& attachment_content) const throw() = 0;
2000 
2004  virtual SDKResult SDK_CALLTYPE UpdateAttachment(
2005  const SDKString& attachment_id,
2006  INavBoxDataObjectAttachmentInfoSP& attachment,
2007  const SDKArray& attachment_content) const throw() = 0;
2008 
2012  virtual SDKResult SDK_CALLTYPE GetDataObjectsInLayer(
2013  const SDKString& layer_id,
2015  ICollectionSDKComponentSP& data_objects) const throw() = 0;
2016 
2020  virtual SDKResult SDK_CALLTYPE GetDataObjectsInLayer(
2021  const SDKString& layer_id,
2022  SDKString& data_objects_json) const throw() = 0;
2023 
2028  virtual SDKResult SDK_CALLTYPE GetDataObject(
2029  const SDKString& object_id,
2031  INavBoxDataObjectSP& data_object) const throw() = 0;
2032 
2036  virtual SDKResult SDK_CALLTYPE CreateDataObject(
2037  const SDKString& layer_id,
2038  INavBoxDataObjectSP& data_object) const throw() = 0;
2039 
2043  virtual SDKResult SDK_CALLTYPE UpdateDataObject(
2044  const SDKString& object_id,
2045  INavBoxDataObjectSP& data_object) const throw() = 0;
2046 
2049  virtual SDKResult SDK_CALLTYPE DeleteDataObject(
2050  const SDKString& object_id) const throw() = 0;
2051 
2059  virtual SDKResult SDK_CALLTYPE GetDataLayerSENCFiles(
2060  const SDKString& layer_id,
2061  IFileStreamFileInfoListSP& senc_file_info_list) const throw() = 0;
2062 
2072  virtual SDKResult SDK_CALLTYPE GetDataLayerSENCFileInfo(
2073  const SDKString& layer_id,
2074  const SDKString& senc_file_pathname,
2075  IFileStreamFileInfoSP& senc_file_info) const throw() = 0;
2076 
2086  virtual SDKResult SDK_CALLTYPE OpenDataLayerSENCFileStream(
2087  const SDKString& layer_id,
2088  const SDKString& senc_file_pathname,
2089  SDK_BASE_NAMESPACE::SDKStreamSP& stream) const throw() = 0;
2090 
2100  virtual SDKResult SDK_CALLTYPE GetDataLayerSENCResourceStorage(
2101  const SDKString& layer_id,
2102  base::SDKResourceStorageSP& storage) throw() = 0;
2103 
2107  virtual SDKResult SDK_CALLTYPE ExportDataLayer(
2108  const SDKString& layer_id,
2109  SDKString& expport_data_layer) const throw() = 0;
2110 
2114  virtual SDKResult SDK_CALLTYPE ImportDataLayer(
2115  const SDKString& import_data_layer,
2116  INavBoxDataLayerSP& data_layer) const throw() = 0;
2117 };
2119 
2120 // \brief NavBox data layer format interface.
2121 class INavBoxDataLayerFormat : public ISDKComponent {
2122 public:
2124  virtual SDKResult SDK_CALLTYPE GetName(SDKString&) const noexcept = 0;
2125 };
2126 
2127 
2128 // \brief NavBox data layer attributes interface.
2129 class INavBoxDataLayerAttributes : public ISDKNamedProperties {
2130 public:
2132  virtual SDKResult SDK_CALLTYPE Next(SDKString* key,
2133  SDKAny* value) const noexcept = 0;
2134 
2136  virtual SDKResult SDK_CALLTYPE Reset() noexcept = 0;
2137 
2139  virtual SDKResult SDK_CALLTYPE GetItemCount(
2140  SDKUInt32* item_count) const noexcept = 0;
2141 
2144  // virtual SDKResult SDK_CALLTYPE SetProperty(const SDKString& id,
2145  // const SDKAny& value) throw() = 0;
2147  // virtual SDKResult SDK_CALLTYPE GetProperty(const SDKString& id,
2148  // SDKAny& value) const throw() = 0;
2149 
2150  inline SDKResult NextInl(std::wstring& code, SDKAny* value) noexcept {
2151  ScopedString key;
2152  SDKResult res = Next(&key, value);
2153  if (SDK_OK(res))
2154  code = key.WString();
2155  return res;
2156  }
2157 };
2158 
2159 // \brief NavBox data layer interface.
2160 class INavBoxDataLayer : public ISDKComponent {
2161 public:
2163  virtual SDKResult SDK_CALLTYPE GetID(SDKString& id) const noexcept = 0;
2164 
2166  virtual SDKResult SDK_CALLTYPE GetName(SDKString& name) const noexcept = 0;
2167 
2169  virtual SDKResult SDK_CALLTYPE SetName(const SDKString& name) noexcept = 0;
2170 
2172  virtual SDKResult SDK_CALLTYPE GetObjectsLastUpdateTime(
2173  SDKTime& last_update_time) const noexcept = 0;
2174 
2176  virtual bool SDK_CALLTYPE IsReadonly() const noexcept = 0;
2177 
2179  virtual bool SDK_CALLTYPE IsRemoved() const noexcept = 0;
2180 
2182  virtual SDKResult SDK_CALLTYPE SetRemoved(bool is_removed) noexcept = 0;
2183 
2185  virtual SDKResult SDK_CALLTYPE GetParentLayerID(
2186  SDKString& parent_id) const noexcept = 0;
2187 
2189  virtual SDKResult SDK_CALLTYPE GetFormats(
2190  ICollectionSDKComponentSP& formats) const noexcept = 0;
2191 
2193  virtual SDKResult SDK_CALLTYPE GetAttributes(
2194  INavBoxDataLayerAttributesSP& attributes) const noexcept = 0;
2195 };
2196 
2197 // \brief NavBox data object attachment info interface.
2198 class INavBoxDataObjectAttachmentInfo : public ISDKComponent {
2199 public:
2201  virtual SDKResult SDK_CALLTYPE GetID(SDKString&) const noexcept = 0;
2202 
2204  virtual SDKResult SDK_CALLTYPE GetFileName(SDKString&) const noexcept = 0;
2205 
2207  virtual SDKResult SDK_CALLTYPE GetType(SDKString&) const noexcept = 0;
2208 
2210  virtual SDKResult SDK_CALLTYPE GetLastUpdateTime(
2211  SDKTime& last_update_time) const throw() = 0;
2212 
2214  virtual SDKResult SDK_CALLTYPE GetSize(SDKInt32&) const noexcept = 0;
2215 };
2216 
2217 // \brief NavBox data object interface.
2218 class INavBoxDataObject : public ISDKComponent {
2219 public:
2221  virtual SDKResult SDK_CALLTYPE GetID(SDKString&) const noexcept = 0;
2222 
2224  virtual SDKResult SDK_CALLTYPE GetLayerID(SDKString&) const noexcept = 0;
2225 
2227  virtual SDKResult SDK_CALLTYPE GetClassName(SDKString&) const noexcept = 0;
2228 
2230  virtual SDKResult SDK_CALLTYPE GetName(SDKString&) const noexcept = 0;
2231 
2233  virtual SDKResult SDK_CALLTYPE GetLastUpdateTime(SDKTime&) const noexcept = 0;
2234 
2236  virtual SDKResult SDK_CALLTYPE GetGeometry(SDKString&) const noexcept = 0;
2237 
2239  virtual bool IsReadonly() const noexcept = 0;
2240 
2242  virtual SDKResult SDK_CALLTYPE GetAttachmentIDs(
2243  ICollectionSDKStringSP&) const noexcept = 0;
2244 
2246  virtual SDKResult SDK_CALLTYPE GetAttributes(
2247  INavBoxDataLayerAttributesSP&) const noexcept = 0;
2248 };
2249 
2250 SDK_NAVBOX_CLIENT_END_NAMESPACE
2251 
2252 #endif // SDK_NAVBOX_CLIENT_INTERFACES_H_
kNavBoxFileType_Weather
@ kNavBoxFileType_Weather
Weather file type.
Definition: navbox_client_interfaces.h:80
VesselEventPropertyID
VesselEventPropertyID
Definition: navbox_client_interfaces.h:413
kNVIProperty_UnusableRPMRange2From
@ kNVIProperty_UnusableRPMRange2From
Unusable RPM range 2 from, SDKInt32.
Definition: navbox_client_interfaces.h:399
kNVIProperty_NatureOfCargoUndefined
@ kNVIProperty_NatureOfCargoUndefined
Nature of cargo undefined, string.
Definition: navbox_client_interfaces.h:374
kNavBoxRESTClientProperty_OEMToken
@ kNavBoxRESTClientProperty_OEMToken
OEM token. Must be obtained from NAVTOR and provided when connecting to NavBox. Required.
Definition: navbox_client_interfaces.h:125
INavBoxFileInfoList
NavBox file info list description.
Definition: navbox_client_interfaces.h:1058
kNVIProperty_PrimaryOnDeckCargo
@ kNVIProperty_PrimaryOnDeckCargo
Primary on deck cargo, SDKInt32 (WNIOnDeckCargoType)
Definition: navbox_client_interfaces.h:385
kSimulationWaypointProperty_WaveDirection
@ kSimulationWaypointProperty_WaveDirection
Wave direction.
Definition: navbox_client_interfaces.h:253
kNVIProperty_RPMRangeFrom
@ kNVIProperty_RPMRangeFrom
RPM range from, SDKInt32.
Definition: navbox_client_interfaces.h:389
kSimulationWaypointProperty_WindSeaWaveHeight
@ kSimulationWaypointProperty_WindSeaWaveHeight
Wind sea wave height.
Definition: navbox_client_interfaces.h:260
kSimulationWaypointProperty_CurrentDirection
@ kSimulationWaypointProperty_CurrentDirection
Surface current direction.
Definition: navbox_client_interfaces.h:263
kNVIProperty_DestinationPilotStationName
@ kNVIProperty_DestinationPilotStationName
Destination pilot station name, string.
Definition: navbox_client_interfaces.h:365
kNVIProperty_MastersIntendedRPMSetting
@ kNVIProperty_MastersIntendedRPMSetting
Masters intended RPM setting, SDKInt32.
Definition: navbox_client_interfaces.h:373
kNavBoxRESTClientProperty_SoftwareHost
@ kNavBoxRESTClientProperty_SoftwareHost
Does not need to be specified by the application.
Definition: navbox_client_interfaces.h:121
geometry.h
Describes interfaces that manages a geometry objects.
kSimulationWaypointProperty_SwellDirection
@ kSimulationWaypointProperty_SwellDirection
Swell direction.
Definition: navbox_client_interfaces.h:256
kVesselEventPropertyID_ATD
@ kVesselEventPropertyID_ATD
Set actual time of departure.
Definition: navbox_client_interfaces.h:417
kNVIProperty_ExpectedDepatureDraftAftInMeters
@ kNVIProperty_ExpectedDepatureDraftAftInMeters
Expected depature draft aft (meters), double.
Definition: navbox_client_interfaces.h:370
kSimulationWaypointProperty_SwellHeight
@ kSimulationWaypointProperty_SwellHeight
Swell height.
Definition: navbox_client_interfaces.h:257
kSimulationWaypointProperty_WindSpeed
@ kSimulationWaypointProperty_WindSpeed
Wind speed.
Definition: navbox_client_interfaces.h:264
kVesselEventPropertyID_CompletePP
@ kVesselEventPropertyID_CompletePP
Mark current passage as completed.
Definition: navbox_client_interfaces.h:420
kNavBoxFileType_NavtorPP
@ kNavBoxFileType_NavtorPP
Passage plan file type.
Definition: navbox_client_interfaces.h:84
kNVIProperty_DeparturePortName
@ kNVIProperty_DeparturePortName
Departure port name, string.
Definition: navbox_client_interfaces.h:364
kSimulationWaypointProperty_WindSeaWaveDirection
@ kSimulationWaypointProperty_WindSeaWaveDirection
Wind sea wave direction.
Definition: navbox_client_interfaces.h:259
kNVIProperty_VesselName
@ kNVIProperty_VesselName
Vessel name, string.
Definition: navbox_client_interfaces.h:351
kNVIProperty_DeparturePilotStationWaypointType
@ kNVIProperty_DeparturePilotStationWaypointType
Departure pilot station waypoint type, SDKInt32 (WNIWaypointType)
Definition: navbox_client_interfaces.h:363
kNVIProperty_CallSign
@ kNVIProperty_CallSign
Call sign, string.
Definition: navbox_client_interfaces.h:353
kNVIProperty_ReportTime
@ kNVIProperty_ReportTime
Report time, SDKTime.
Definition: navbox_client_interfaces.h:376
INavBoxDataLayersClient
NavBox REST client Data layers provider.
Definition: navbox_client_interfaces.h:1956
generic_resource_interface.h
Generic data resource interfaces.
kNVIProperty_RPMRangeTo
@ kNVIProperty_RPMRangeTo
RPM range to, SDKInt32.
Definition: navbox_client_interfaces.h:390
kSimulationWaypointProperty_SwellPeriod
@ kSimulationWaypointProperty_SwellPeriod
Swell period.
Definition: navbox_client_interfaces.h:258
kNVIProperty_DestinationPilotStationLon
@ kNVIProperty_DestinationPilotStationLon
Destination pilot station longitude, double.
Definition: navbox_client_interfaces.h:367
kNavBoxFileType_NavAreaWarning
@ kNavBoxFileType_NavAreaWarning
NavSrea warning file type.
Definition: navbox_client_interfaces.h:83
DataObjectsExtractionMode_Meta
@ DataObjectsExtractionMode_Meta
Returns only object id and last update timestamp.
Definition: navbox_client_interfaces.h:430
INavBoxRESTClient
NavBox REST client Provides access to INavBoxRESTClient.
Definition: navbox_client_interfaces.h:1422
DataObjectsExtractionMode
DataObjectsExtractionMode
NavBox data layer objects retrieving mode.
Definition: navbox_client_interfaces.h:429
kNavBoxRESTClientProperty_Host
@ kNavBoxRESTClientProperty_Host
NavBox Host address. Required.
Definition: navbox_client_interfaces.h:117
properties_interface.h
Object generic properties interface.
kNavBoxRESTClientProperty_ServerToken
@ kNavBoxRESTClientProperty_ServerToken
NavBox token. Can be found on NavStick. Required.
Definition: navbox_client_interfaces.h:124
kNVIProperty_UnusableRPMRange1To
@ kNVIProperty_UnusableRPMRange1To
Unusable RPM range 1 to, SDKInt32.
Definition: navbox_client_interfaces.h:398
kNVIProperty_FuelToUseInECA
@ kNVIProperty_FuelToUseInECA
Fuel to use in ECA, SDKInt32 (WNIFuelType)
Definition: navbox_client_interfaces.h:382
kNavBoxFileType_NavStationInfo
@ kNavBoxFileType_NavStationInfo
NavStation information file type.
Definition: navbox_client_interfaces.h:87
kSDKResult_Succeeded
static const SDKResult kSDKResult_Succeeded
Operation completed successfully.
Definition: sdk_results.h:22
kSimulationWaypointProperty_RPMSimulated
@ kSimulationWaypointProperty_RPMSimulated
Engine rpm simulated.
Definition: navbox_client_interfaces.h:246
kNVIProperty_UnusableMCRRange1From
@ kNVIProperty_UnusableMCRRange1From
Unusable MCR range 1 from, SDKInt32.
Definition: navbox_client_interfaces.h:393
SimulationWaypointProperty
SimulationWaypointProperty
Definition: navbox_client_interfaces.h:240
INavBoxRESTCallbacks
NavBox REST callbacks interface.
Definition: navbox_client_interfaces.h:1408
kNVIProperty_CalmSeaSpeedInKnots
@ kNVIProperty_CalmSeaSpeedInKnots
Calm sea speed (knots), double.
Definition: navbox_client_interfaces.h:358
kNavBoxFileType_PortsInfo
@ kNavBoxFileType_PortsInfo
Port information file.
Definition: navbox_client_interfaces.h:86
kNVIProperty_UnusableMCRRange2To
@ kNVIProperty_UnusableMCRRange2To
Unusable MCR range 2 to, SDKInt32.
Definition: navbox_client_interfaces.h:396
kNVIProperty_ArrivalTimeMarginReason
@ kNVIProperty_ArrivalTimeMarginReason
Arrival time margin reason, string.
Definition: navbox_client_interfaces.h:357
kNVIProperty_DeparturePilotStationLon
@ kNVIProperty_DeparturePilotStationLon
Departure pilot station longitude, double.
Definition: navbox_client_interfaces.h:362
kVesselEventPropertyID_AbandonPP
@ kVesselEventPropertyID_AbandonPP
Abandon current passage.
Definition: navbox_client_interfaces.h:421
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
kNavBoxFileType_Log
@ kNavBoxFileType_Log
Log file type.
Definition: navbox_client_interfaces.h:82
SDKTimeDelta
SDKInt64 SDKTimeDelta
Time delta in Milliseconds.
Definition: base_types.h:63
kNVIProperty_DeparturePilotStationName
@ kNVIProperty_DeparturePilotStationName
Departure pilot station name, string.
Definition: navbox_client_interfaces.h:360
kNavBoxFileType_NavtorRoute
@ kNavBoxFileType_NavtorRoute
Route file type.
Definition: navbox_client_interfaces.h:78
kNavBoxFileType_Routing
@ kNavBoxFileType_Routing
Routing file type.
Definition: navbox_client_interfaces.h:81
kNVIProperty_UltraSlowRPMRangeTo
@ kNVIProperty_UltraSlowRPMRangeTo
Ultra slow RPM range to, SDKInt32.
Definition: navbox_client_interfaces.h:392
SDKGeoPoint
Geo point in degree units.
Definition: geometry_base_types.h:1727
kWNILegPointProperty_Lat
@ kWNILegPointProperty_Lat
Latitude, double.
Definition: navbox_client_interfaces.h:282
kWNILegPointProperty_Lon
@ kWNILegPointProperty_Lon
Longitude, double.
Definition: navbox_client_interfaces.h:283
stream_interface.h
Generic data stream interface.
kNVIProperty_ScrubberEquipped
@ kNVIProperty_ScrubberEquipped
Scrubber equipped, bool.
Definition: navbox_client_interfaces.h:378
kNVIProperty_ShipMasterName
@ kNVIProperty_ShipMasterName
Ship master name, string.
Definition: navbox_client_interfaces.h:379
kSimulationWaypointProperty_IsGC
@ kSimulationWaypointProperty_IsGC
Is Great circle.
Definition: navbox_client_interfaces.h:249
kNavBoxRESTClientProperty_SoftwareVersion
@ kNavBoxRESTClientProperty_SoftwareVersion
The application version. Required.
Definition: navbox_client_interfaces.h:123
kNVIProperty_UnusableRPMRange1From
@ kNVIProperty_UnusableRPMRange1From
Unusable RPM range 1 from, SDKInt32.
Definition: navbox_client_interfaces.h:397
WNILegPointProperty
WNILegPointProperty
Definition: navbox_client_interfaces.h:280
kNVIProperty_ETD
@ kNVIProperty_ETD
ETD, SDKTime.
Definition: navbox_client_interfaces.h:355
kNVIProperty_UnusableMCRRange2From
@ kNVIProperty_UnusableMCRRange2From
Unusable MCR range 2 from, SDKInt32.
Definition: navbox_client_interfaces.h:395
kNVIProperty_FuelToUseInOpenOcean
@ kNVIProperty_FuelToUseInOpenOcean
Fuel to use in open ocean, SDKInt32 (WNIFuelType)
Definition: navbox_client_interfaces.h:383
kNVIProperty_IMONumber
@ kNVIProperty_IMONumber
IMO number, SDKInt32.
Definition: navbox_client_interfaces.h:372
kSimulationWaypointProperty_SOGSimulated
@ kSimulationWaypointProperty_SOGSimulated
Speed over ground simulated.
Definition: navbox_client_interfaces.h:244
kSimulationWaypointProperty_Time
@ kSimulationWaypointProperty_Time
ETA/Departure time for first point.
Definition: navbox_client_interfaces.h:247
DataObjectsExtractionMode_Full
@ DataObjectsExtractionMode_Full
Returns full objects.
Definition: navbox_client_interfaces.h:431
kNVIProperty_RequestArrivalTimeMarginInMinutes
@ kNVIProperty_RequestArrivalTimeMarginInMinutes
Request arrival time margin (min), SDKInt32.
Definition: navbox_client_interfaces.h:377
kNVIProperty_ETA
@ kNVIProperty_ETA
ETA, SDKTime.
Definition: navbox_client_interfaces.h:354
sdk_component_interface.h
Common base SDK interfaces.
INavBoxRESTRouteInfo
Provides access to INavBoxRESTRouteInfo.
Definition: navbox_client_interfaces.h:1654
kSimulationWaypointProperty_WaveHeight
@ kSimulationWaypointProperty_WaveHeight
Wave height.
Definition: navbox_client_interfaces.h:254
kNVIProperty_NatureOfCargoPrimary
@ kNVIProperty_NatureOfCargoPrimary
Nature of cargo primary, SDKInt32 (BulkerCargo in WniDataContract)
Definition: navbox_client_interfaces.h:380
kNVIProperty_Remark
@ kNVIProperty_Remark
Remark, string.
Definition: navbox_client_interfaces.h:375
SDK_FAILED
#define SDK_FAILED(res)
Checks failed result.
Definition: sdk_results_enum.h:69
kWNILegPointProperty_IsGC
@ kWNILegPointProperty_IsGC
Navigation type, bool.
Definition: navbox_client_interfaces.h:281
kNVIProperty_DestinationPortName
@ kNVIProperty_DestinationPortName
Destination port name, string.
Definition: navbox_client_interfaces.h:369
kVesselEventPropertyID_CancelPP
@ kVesselEventPropertyID_CancelPP
Cancel current passage.
Definition: navbox_client_interfaces.h:422
kNavBoxRESTClientProperty_SoftwareName
@ kNavBoxRESTClientProperty_SoftwareName
The application name. Required.
Definition: navbox_client_interfaces.h:122
kNVIProperty_MCRRangeFrom
@ kNVIProperty_MCRRangeFrom
MCR range from, SDKInt32.
Definition: navbox_client_interfaces.h:387
kSimulationWaypointProperty_WavePeriod
@ kSimulationWaypointProperty_WavePeriod
Wave period.
Definition: navbox_client_interfaces.h:255
SDK_OK
#define SDK_OK(res)
Checks succeeded result.
Definition: sdk_results_enum.h:65
kNVIProperty_DestinationPilotStationWaypointType
@ kNVIProperty_DestinationPilotStationWaypointType
Destination pilot station waypoint type, SDKInt32 (WNIWaypointType)
Definition: navbox_client_interfaces.h:368
sdk::ScopedString
sdk::SDKStringHandler ScopedString
Synonym for the SDKStringHandler.
Definition: sdk_string_handler.h:347
kSimulationWaypointProperty_FOC
@ kSimulationWaypointProperty_FOC
Weather at point.
Definition: navbox_client_interfaces.h:251
kNVIProperty_LoadingCondition
@ kNVIProperty_LoadingCondition
Loading condition, SDKInt32 (WNILoadingCondition)
Definition: navbox_client_interfaces.h:384
ISDKComponent
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
kNavBoxRESTClientProperty_Port
@ kNavBoxRESTClientProperty_Port
NavBox Host port number. Required.
Definition: navbox_client_interfaces.h:118
geometry_base_types.h
Geometry base types.
kNVIProperty_ExpectedDepatureDraftForeInMeters
@ kNVIProperty_ExpectedDepatureDraftForeInMeters
Expected depature draft fore (meters), double.
Definition: navbox_client_interfaces.h:371
INavBoxFileInfo
Provides access to NavtorFileInfo.
Definition: navbox_client_interfaces.h:1078
kSimulationWaypointProperty_TimeSimulated
@ kSimulationWaypointProperty_TimeSimulated
ETA/Departure time for first point simulated.
Definition: navbox_client_interfaces.h:248
kSimulationWaypointProperty_WindDirection
@ kSimulationWaypointProperty_WindDirection
Wind direction.
Definition: navbox_client_interfaces.h:265
kNVIProperty_UltraSlowRPMRangeFrom
@ kNVIProperty_UltraSlowRPMRangeFrom
Ultra slow RPM range from, SDKInt32.
Definition: navbox_client_interfaces.h:391
navbox_client_const.h
Defines NavBox client constants.
kSimulationWaypointProperty_CurrentSpeed
@ kSimulationWaypointProperty_CurrentSpeed
Surface current speed.
Definition: navbox_client_interfaces.h:262
kNavBoxFileType_NavtorRouteBin
@ kNavBoxFileType_NavtorRouteBin
Route file at bin.
Definition: navbox_client_interfaces.h:79
kNVIProperty_UnusableRPMRange2To
@ kNVIProperty_UnusableRPMRange2To
Unusable RPM range 2 to, SDKInt32.
Definition: navbox_client_interfaces.h:400
NavBoxRESTClientProperties
NavBoxRESTClientProperties
NavBox REST client properties.
Definition: navbox_client_interfaces.h:116
kNavBoxRESTClientProperty_TimeoutSec
@ kNavBoxRESTClientProperty_TimeoutSec
Connection timeout. Optional.
Definition: navbox_client_interfaces.h:119
SDKTime
SDK_END_NAMESPACE typedef SDKInt64 SDKTime
Milliseconds from Unix epoch.
Definition: base_types.h:56
kNVIProperty_VoyageNumber
@ kNVIProperty_VoyageNumber
Voyage number, string.
Definition: navbox_client_interfaces.h:352
kNVIProperty_NatureOfCargoSecondary
@ kNVIProperty_NatureOfCargoSecondary
Nature of cargo secondary, SDKInt32 (BulkerCargo in WniDataContract)
Definition: navbox_client_interfaces.h:381
kSimulationWaypointProperty_WindSeaWavePeriod
@ kSimulationWaypointProperty_WindSeaWavePeriod
Wind sea wave period.
Definition: navbox_client_interfaces.h:261
kNVIProperty_GMInMeters
@ kNVIProperty_GMInMeters
GM (meters), double.
Definition: navbox_client_interfaces.h:356
kSDKResult_NotExist
static const SDKResult kSDKResult_NotExist
Something does not exist.
Definition: sdk_results.h:79
INavBoxRESTFileInfo
Provides access to NavBoxRESTFileInfo.
Definition: navbox_client_interfaces.h:1677
kVesselEventPropertyID_ATA
@ kVesselEventPropertyID_ATA
Set actual time of arrival.
Definition: navbox_client_interfaces.h:416
enum_interface.h
Describes a basic enumeration interfaces.
kNVIProperty_CanSailInWinterZone
@ kNVIProperty_CanSailInWinterZone
Can sail in winter zone, bool.
Definition: navbox_client_interfaces.h:359
kVesselEventPropertyID_ActivatePP
@ kVesselEventPropertyID_ActivatePP
Set passage-plan as active.
Definition: navbox_client_interfaces.h:415
kSimulationWaypointProperty_RPM
@ kSimulationWaypointProperty_RPM
Engine rpm.
Definition: navbox_client_interfaces.h:245
kSimulationWaypointProperty_SOG
@ kSimulationWaypointProperty_SOG
Speed over ground.
Definition: navbox_client_interfaces.h:243
NVIProperty
NVIProperty
Definition: navbox_client_interfaces.h:349
kSDKResult_InvalidArgument
static const SDKResult kSDKResult_InvalidArgument
Wrong argument passed to function.
Definition: sdk_results.h:55
INavBoxRESTInfo
Provides access to INavBoxInfo.
Definition: navbox_client_interfaces.h:1633
kNVIProperty_UnusableMCRRange1To
@ kNVIProperty_UnusableMCRRange1To
Unusable MCR range 1 to, SDKInt32.
Definition: navbox_client_interfaces.h:394
kVesselEventPropertyID_LoadingCondition
@ kVesselEventPropertyID_LoadingCondition
Set loading-condition.
Definition: navbox_client_interfaces.h:418
kNVIProperty_DeparturePilotStationLat
@ kNVIProperty_DeparturePilotStationLat
Departure pilot station latitude, double.
Definition: navbox_client_interfaces.h:361
kSimulationWaypointProperty_IsSimulated
@ kSimulationWaypointProperty_IsSimulated
Is simulated waypoint.
Definition: navbox_client_interfaces.h:250
IECDISServiceServerCallback
ECDIS server service callback interface.
Definition: navbox_client_interfaces.h:1001
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
kNavBoxRESTClientProperty_RootCertificate
@ kNavBoxRESTClientProperty_RootCertificate
Does not need to be specified by the application.
Definition: navbox_client_interfaces.h:120
kWNILegPointProperty_WaypointType
@ kWNILegPointProperty_WaypointType
Waypoint type, enum WNIWaypointType.
Definition: navbox_client_interfaces.h:284
kNVIProperty_MCRRangeTo
@ kNVIProperty_MCRRangeTo
MCR range to, SDKInt32.
Definition: navbox_client_interfaces.h:388
kNavBoxFileType_NavtorPPBin
@ kNavBoxFileType_NavtorPPBin
Passage plan file type at bin.
Definition: navbox_client_interfaces.h:85
kNVIProperty_SecondaryOnDeckCargo
@ kNVIProperty_SecondaryOnDeckCargo
Secondary on deck cargo, SDKInt32 (WNIOnDeckCargoType)
Definition: navbox_client_interfaces.h:386
kVesselEventPropertyID_Speed
@ kVesselEventPropertyID_Speed
Set speed-command.
Definition: navbox_client_interfaces.h:419
NavBoxFileType
NavBoxFileType
NavBox file type.
Definition: navbox_client_interfaces.h:77
kNVIProperty_DestinationPilotStationLat
@ kNVIProperty_DestinationPilotStationLat
Destination pilot station latitude, double.
Definition: navbox_client_interfaces.h:366