9 #ifndef SDK_ROUTE_STORAGE_INTERFACES_H_
10 #define SDK_ROUTE_STORAGE_INTERFACES_H_
13 #include <base/inc/forward_declarations.h>
16 #include <base/inc/interfaces/collection/collection_interface.h>
20 #include <datalayer/inc/senc/senc_feature_catalog_s101.h>
21 #include <ecdislayer/inc/route_planning/route_const.h>
24 SDK_GDB_BEGIN_NAMESPACE
51 kRouteElementType_LegCurve = 0x20,
65 kRouteProperty_PersistentResourceName,
66 kRouteProperty_IsNotLoaded,
81 enum RoutePortrayalPropertiesEnum {
124 kWaypointProperty_CommencementOrEndOfSeaPassage = kRAC_COSP_EOSP,
168 kRouteStorageParameter_RouteConversionOnly = 5,
169 kRouteStorageParameter_RouteConversionOnlyInMemory = 6,
170 kRouteStorageParameter_RouteConversionPPPath = 7
183 kRouteFormat_Undefined = -1,
184 kRouteFormat_Navtor = 0,
185 kRouteFormat_RTE_WPL = 1,
186 kRouteFormat_Maris_RTU = 2,
187 kRouteFormat_Maris_TXT = 3,
188 kRouteFormat_CMap = 4,
189 kRouteFormat_CIRM_RTZ = 5,
190 kRouteFormat_Sperry = 6,
191 kRouteFormat_CIRM_RTZP = 7,
192 kRouteFormat_CIRM_RTZP_Broken = 8,
193 kRouteFormat_Furuno = 9,
194 kRouteFormat_Furuno_Simplified = 10,
195 kRouteFormat_Maris_TXT_Simplified = 11,
196 kRouteFormat_JRC_RTN = 12,
197 kRouteFormat_JRC_CSV = 13,
198 kRouteFormat_KelvinHughes_ZM1816 = 14,
199 kRouteFormat_KelvinHughes_ZM2144 = 15,
200 kRouteFormat_Kongsberg_RUX = 16,
201 kRouteFormat_Raytheon = 17,
202 kRouteFormat_SAM_DAT = 18,
203 kRouteFormat_SAM_TXT = 19,
204 kRouteFormat_SAM_XML = 20,
205 kRouteFormat_Telko_LST = 21,
206 kRouteFormat_TokyoKeiki_EC8x00 = 22,
207 kRouteFormat_TokyoKeiki_EC7x00 = 23,
208 kRouteFormat_Transas = 24,
209 kRouteFormat_Kongsberg_TXT = 25,
210 kRouteFormat_JRC_RTM = 26,
211 kRouteFormat_SevenCs_TXT = 27,
212 kRouteFormat_PCMaritime_TXT = 28,
213 kRouteFormat_PCMaritime_XML = 29,
214 kRouteFormat_Kongsberg_RUT = 30,
215 kRouteFormat_Odfjell_XLSX = 31,
216 kRouteFormat_Furuno_V1 = 32,
222 kRouteFormatParam_RTE_WPL_TalkerID =
250 static const wchar_t kRteWplRouteFileNameExtension[] = L
"rte";
251 static const wchar_t kMarisRtuRouteFileNameExtension[] = L
"rtu";
252 static const wchar_t kMarisTxtRouteFileNameExtension[] = L
"txt";
253 static const wchar_t kMarisTxtSimplifiedRouteFileNameExtension[] = L
"txt";
254 static const wchar_t kCMapRouteFileNameExtension[] = L
"route";
255 static const wchar_t kCirmRtzRouteFileNameExtension[] = L
"rtz";
256 static const wchar_t kSperryRouteFileNameExtension[] = L
"route";
257 static const wchar_t kCirmRtzpRouteFileNameExtension[] = L
"rtzp";
258 static const wchar_t kFurunoRouteFileNameExtension[] = L
"txt";
259 static const wchar_t kFurunoSimplifiedRouteFileNameExtension[] = L
"txt";
260 static const wchar_t kJrcRtnRouteFileNameExtension[] = L
"rtn";
261 static const wchar_t kJrcRtnRouteFileNameExtension2[] = L
"rta";
262 static const wchar_t kJrcRtmRouteFileNameExtension[] = L
"rtm";
263 static const wchar_t kJrcCsvRouteFileNameExtension[] = L
"csv";
264 static const wchar_t kKelvinHughesZM1816RouteFileNameExtension[] = L
"route";
265 static const wchar_t kKelvinHughesZM2144RouteFileNameExtension[] = L
"route";
266 static const wchar_t kKongsbergRutRouteFileNameExtension[] = L
"rut";
267 static const wchar_t kKongsbergRuxRouteFileNameExtension[] = L
"rux";
268 static const wchar_t kKongsbergTxtRouteFileNameExtension[] = L
"txt";
269 static const wchar_t kRaytheonRouteFileNameExtension[] = L
"route";
270 static const wchar_t kSamDatRouteFileNameExtension[] = L
"dat";
271 static const wchar_t kSamTxtRouteFileNameExtension[] = L
"txt";
272 static const wchar_t kSamXmlRouteFileNameExtension[] = L
"xml";
273 static const wchar_t kTelkoLstRouteFileNameExtension[] = L
"lst";
274 static const wchar_t kTokyoKeikiEC8x00RouteFileNameExtension[] = L
"csv";
275 static const wchar_t kTokyoKeikiEC7x00RouteFileNameExtension[] = L
"xls";
276 static const wchar_t kTransasRt3RouteFileNameExtension[] = L
"rt3";
277 static const wchar_t kSevenCsTxtRouteFileNameExtension[] = L
"txt";
278 static const wchar_t kPcMaritimeTxtRouteFileNameExtension[] = L
"txt";
279 static const wchar_t kPcMaritimeXmlRouteFileNameExtension[] = L
"xml";
280 static const wchar_t kOdfjellXlsxRouteFileNameExtension[] = L
"xlsx";
281 static const wchar_t kFurunoV1RouteFileNameExtension[] = L
"txt";
287 static const char kRouteFormatKey_CMap[] =
"CmapIni";
288 static const char kRouteFormatKey_Sperry[] =
"Sperry";
289 static const char kRouteFormatKey_Maris_RTU[] =
"MarisRtu";
290 static const char kRouteFormatKey_Maris_TXT[] =
"MarisTxt";
291 static const char kRouteFormatKey_Maris_TXT_Simplified[] =
"MarisTxtSimple";
292 static const char kRouteFormatKey_CIRM_RTZ[] =
"CirmRtz";
293 static const char kRouteFormatKey_CIRM_RTZP[] =
"CirmRtzp";
294 static const char kRouteFormatKey_RTE_WPL[] =
"RteWpl";
295 static const char kRouteFormatKey_Furuno[] =
"Furuno";
296 static const char kRouteFormatKey_Furuno_Simplified[] =
"FurunoSimple";
297 static const char kRouteFormatKey_JRC_RTN[] =
"Jrc";
298 static const char kRouteFormatKey_JRC_CSV[] =
"JrcCsv";
299 static const char kRouteFormatKey_JRC_RTM[] =
"JrcRtm";
300 static const char kRouteFormatKey_KelvinHughes_ZM1816[] =
"KelvinHughes1816";
301 static const char kRouteFormatKey_KelvinHughes_ZM2144[] =
"KelvinHughes2144";
302 static const char kRouteFormatKey_Kongsberg_RUT[] =
"KongsbergRut";
303 static const char kRouteFormatKey_Kongsberg_RUX[] =
"Kongsberg";
304 static const char kRouteFormatKey_Kongsberg_TXT[] =
"KongsbergTxt";
305 static const char kRouteFormatKey_Raytheon[] =
"Raytheon";
306 static const char kRouteFormatKey_SAM_DAT[] =
"SamDat";
307 static const char kRouteFormatKey_SAM_TXT[] =
"SamTxt";
308 static const char kRouteFormatKey_SAM_XML[] =
"SamXml";
309 static const char kRouteFormatKey_Telko_LST[] =
"Telko";
310 static const char kRouteFormatKey_TokyoKeiki_EC7x00[] =
"Tokimec7X00";
311 static const char kRouteFormatKey_TokyoKeiki_EC8x00[] =
"Tokimec8X00";
312 static const char kRouteFormatKey_Transas[] =
"Transas";
313 static const char kRouteFormatKey_SevenCs_TXT[] =
"SevenCsTxt";
314 static const char kRouteFormatKey_PCMaritime_TXT[] =
"PcMaritimeTxt";
315 static const char kRouteFormatKey_PCMaritime_XML[] =
"PcMaritimeXml";
316 static const char kRouteFormatKey_Odfjell_XLSX[] =
"Odfjell";
317 static const char kRouteFormatKey_Furuno_V1[] =
"FurunoV1";
322 static const char kRouteFormatDescr_CMap[] =
"C-Map";
323 static const char kRouteFormatDescr_Sperry[] =
"Sperry";
324 static const char kRouteFormatDescr_Maris_RTU[] =
"Maris";
325 static const char kRouteFormatDescr_Maris_TXT[] =
"Maris";
326 static const char kRouteFormatDescr_Maris_TXT_Simplified[] =
"Maris Simple";
327 static const char kRouteFormatDescr_CIRM_RTZ[] =
"IEC RTZ";
328 static const char kRouteFormatDescr_CIRM_RTZP[] =
"IEC RTZ";
329 static const char kRouteFormatDescr_RTE_WPL[] =
"Rte Wpl";
330 static const char kRouteFormatDescr_Furuno[] =
"Furuno";
331 static const char kRouteFormatDescr_Furuno_Simplified[] =
"Furuno Simple";
332 static const char kRouteFormatDescr_JRC_RTN[] =
"JRC";
333 static const char kRouteFormatDescr_JRC_CSV[] =
"JRC";
334 static const char kRouteFormatDescr_JRC_RTM[] =
"JRC";
335 static const char kRouteFormatDescr_KelvinHughes_ZM1816[] =
"Kelvin Hughes 1816";
336 static const char kRouteFormatDescr_KelvinHughes_ZM2144[] =
"Kelvin Hughes 2144";
337 static const char kRouteFormatDescr_Kongsberg_RUT[] =
"Kongsberg";
338 static const char kRouteFormatDescr_Kongsberg_RUX[] =
"Kongsberg";
339 static const char kRouteFormatDescr_Kongsberg_TXT[] =
"Kongsberg";
340 static const char kRouteFormatDescr_Raytheon[] =
"Raytheon";
341 static const char kRouteFormatDescr_SAM_DAT[] =
"Sam";
342 static const char kRouteFormatDescr_SAM_TXT[] =
"Sam";
343 static const char kRouteFormatDescr_SAM_XML[] =
"Sam";
344 static const char kRouteFormatDescr_Telko_LST[] =
"Telko";
345 static const char kRouteFormatDescr_TokyoKeiki_EC7x00[] =
"Tokimec 7X00";
346 static const char kRouteFormatDescr_TokyoKeiki_EC8x00[] =
"Tokimec 8X00";
347 static const char kRouteFormatDescr_Transas[] =
"Transas";
348 static const char kRouteFormatDescr_SevenCs_TXT[] =
"SevenCs";
349 static const char kRouteFormatDescr_PCMaritime_TXT[] =
"PC Maritime";
350 static const char kRouteFormatDescr_PCMaritime_XML[] =
"PC Maritime";
351 static const char kRouteFormatDescr_Odfjell_XLSX[] =
"Odfjell";
352 static const char kRouteFormatDescr_Furuno_V1[] =
"Furuno V1";
354 static const struct RouteFormatTableItem {
357 const wchar_t* m_ext;
359 } kRouteFormatTable[] = {
362 { kRouteFormat_CMap, kRouteFormatKey_CMap,
363 kCMapRouteFileNameExtension, kRouteFormatDescr_CMap },
364 { kRouteFormat_Sperry, kRouteFormatKey_Sperry,
365 kSperryRouteFileNameExtension, kRouteFormatDescr_Sperry },
366 { kRouteFormat_Maris_RTU, kRouteFormatKey_Maris_RTU,
367 kMarisRtuRouteFileNameExtension, kRouteFormatDescr_Maris_RTU },
368 { kRouteFormat_Maris_TXT, kRouteFormatKey_Maris_TXT,
369 kMarisTxtRouteFileNameExtension, kRouteFormatDescr_Maris_TXT },
370 { kRouteFormat_Maris_TXT_Simplified, kRouteFormatKey_Maris_TXT_Simplified,
371 kMarisTxtSimplifiedRouteFileNameExtension,
372 kRouteFormatDescr_Maris_TXT_Simplified },
373 { kRouteFormat_CIRM_RTZ, kRouteFormatKey_CIRM_RTZ,
374 kCirmRtzRouteFileNameExtension, kRouteFormatDescr_CIRM_RTZ },
375 { kRouteFormat_CIRM_RTZP, kRouteFormatKey_CIRM_RTZP,
376 kCirmRtzpRouteFileNameExtension, kRouteFormatDescr_CIRM_RTZP },
377 { kRouteFormat_RTE_WPL, kRouteFormatKey_RTE_WPL,
378 kRteWplRouteFileNameExtension, kRouteFormatDescr_RTE_WPL },
379 { kRouteFormat_Furuno, kRouteFormatKey_Furuno,
380 kFurunoRouteFileNameExtension, kRouteFormatDescr_Furuno },
381 { kRouteFormat_Furuno_Simplified, kRouteFormatKey_Furuno_Simplified,
382 kFurunoSimplifiedRouteFileNameExtension,
383 kRouteFormatDescr_Furuno_Simplified },
384 { kRouteFormat_JRC_RTN, kRouteFormatKey_JRC_RTN,
385 kJrcRtnRouteFileNameExtension, kRouteFormatDescr_JRC_RTN },
386 { kRouteFormat_JRC_CSV, kRouteFormatKey_JRC_CSV,
387 kJrcCsvRouteFileNameExtension, kRouteFormatDescr_JRC_CSV },
388 { kRouteFormat_JRC_RTM, kRouteFormatKey_JRC_RTM,
389 kJrcRtmRouteFileNameExtension, kRouteFormatDescr_JRC_RTM },
390 { kRouteFormat_KelvinHughes_ZM1816, kRouteFormatKey_KelvinHughes_ZM1816,
391 kKelvinHughesZM1816RouteFileNameExtension,
392 kRouteFormatDescr_KelvinHughes_ZM1816 },
393 { kRouteFormat_KelvinHughes_ZM2144, kRouteFormatKey_KelvinHughes_ZM2144,
394 kKelvinHughesZM2144RouteFileNameExtension,
395 kRouteFormatDescr_KelvinHughes_ZM2144 },
396 { kRouteFormat_Kongsberg_RUT, kRouteFormatKey_Kongsberg_RUT,
397 kKongsbergRutRouteFileNameExtension, kRouteFormatDescr_Kongsberg_RUT },
398 { kRouteFormat_Kongsberg_RUX, kRouteFormatKey_Kongsberg_RUX,
399 kKongsbergRuxRouteFileNameExtension, kRouteFormatDescr_Kongsberg_RUX },
400 { kRouteFormat_Kongsberg_TXT, kRouteFormatKey_Kongsberg_TXT,
401 kKongsbergTxtRouteFileNameExtension, kRouteFormatDescr_Kongsberg_TXT },
402 { kRouteFormat_Raytheon, kRouteFormatKey_Raytheon,
403 kRaytheonRouteFileNameExtension, kRouteFormatDescr_Raytheon },
404 { kRouteFormat_SAM_TXT, kRouteFormatKey_SAM_TXT,
405 kSamTxtRouteFileNameExtension, kRouteFormatDescr_SAM_TXT },
406 { kRouteFormat_SAM_XML, kRouteFormatKey_SAM_XML,
407 kSamXmlRouteFileNameExtension, kRouteFormatDescr_SAM_XML },
408 { kRouteFormat_SAM_DAT, kRouteFormatKey_SAM_DAT,
409 kSamDatRouteFileNameExtension, kRouteFormatDescr_SAM_DAT },
410 { kRouteFormat_Telko_LST, kRouteFormatKey_Telko_LST,
411 kTelkoLstRouteFileNameExtension, kRouteFormatDescr_Telko_LST },
412 { kRouteFormat_TokyoKeiki_EC7x00, kRouteFormatKey_TokyoKeiki_EC7x00,
413 kTokyoKeikiEC7x00RouteFileNameExtension,
414 kRouteFormatDescr_TokyoKeiki_EC7x00 },
415 { kRouteFormat_TokyoKeiki_EC8x00, kRouteFormatKey_TokyoKeiki_EC8x00,
416 kTokyoKeikiEC8x00RouteFileNameExtension,
417 kRouteFormatDescr_TokyoKeiki_EC8x00 },
418 { kRouteFormat_Transas, kRouteFormatKey_Transas,
419 kTransasRt3RouteFileNameExtension, kRouteFormatDescr_Transas },
420 { kRouteFormat_SevenCs_TXT, kRouteFormatKey_SevenCs_TXT,
421 kSevenCsTxtRouteFileNameExtension, kRouteFormatDescr_SevenCs_TXT },
422 { kRouteFormat_PCMaritime_TXT, kRouteFormatKey_PCMaritime_TXT,
423 kPcMaritimeTxtRouteFileNameExtension, kRouteFormatDescr_PCMaritime_TXT },
424 { kRouteFormat_PCMaritime_XML, kRouteFormatKey_PCMaritime_XML,
425 kPcMaritimeXmlRouteFileNameExtension, kRouteFormatDescr_PCMaritime_XML },
426 { kRouteFormat_Odfjell_XLSX, kRouteFormatKey_Odfjell_XLSX,
427 kOdfjellXlsxRouteFileNameExtension, kRouteFormatDescr_Odfjell_XLSX },
428 { kRouteFormat_Furuno_V1, kRouteFormatKey_Furuno_V1,
429 kFurunoV1RouteFileNameExtension, kRouteFormatDescr_Furuno_V1 },
435 kRouteFormatProperty_Id = 0,
436 kRouteFormatProperty_Key,
437 kRouteFormatProperty_FileExt,
438 kRouteFormatProperty_Description,
453 SDKAny& value)
const throw() = 0;
457 IEnumSDKStringSP& enum_string)
const throw() = 0;
460 template<
typename T >
462 SDK_NAMESPACE::ScopedAny value;
466 if (ANY_IS_EMPTY(&value))
475 SDK_DECLARE_IID(IRouteExtensionProperties)
477 class IRouteEditorExtensionProperties :
public ISDKComponent {
480 virtual SDKResult SDK_CALLTYPE SetRouteExtensionProperty(
481 const SDKString& property_id,
482 const SDKAny& property_value)
throw() = 0;
485 virtual SDKResult SDK_CALLTYPE SetWaypointExtensionProperty(
486 SDKUInt32 waypoint_index,
487 const SDKString& property_id,
488 const SDKAny& value)
throw() = 0;
491 virtual SDKResult SDK_CALLTYPE SetLegExtensionProperty(
493 const SDKString& property_id,
494 const SDKAny& value)
throw() = 0;
497 virtual SDKResult SDK_CALLTYPE SetEventMarkExtensionProperty(
498 const SDKAny& event_mark_id,
499 const SDKString& property_id,
500 const SDKAny& value)
throw() = 0;
502 SDK_IMPLEMENT_IID(IRouteEditorExtensionProperties)
503 SDK_END_INTERFACE(IRouteEditorExtensionProperties)
505 SDK_DECLARE_IID(IRouteEditorExtensionProperties)
514 SDKAny& value)
const throw() = 0;
517 template<
typename T >
519 SDK_NAMESPACE::ScopedAny value;
523 if (ANY_IS_EMPTY(&value))
532 SDK_DECLARE_IID(IRouteLeg)
541 const SDKAny& value)
throw() = 0;
543 SDK_IMPLEMENT_IID(IRouteLegEdit)
544 SDK_END_INTERFACE(IRouteLegEdit)
546 SDK_DECLARE_IID(IRouteLegEdit)
559 SDKAny& value)
const throw() = 0;
563 SDKUInt32& index)
const throw() = 0;
567 IRouteLegSP& leg)
const throw() = 0;
570 template<
typename T >
572 SDK_NAMESPACE::ScopedAny value;
576 if (ANY_IS_EMPTY(&value))
585 SDK_DECLARE_IID(IWaypoint)
594 ISDKComponentSP& element)
const throw() = 0;
602 double& distance_nm)
const throw() = 0;
604 SDK_IMPLEMENT_IID(IFoundElementInfo)
605 SDK_END_INTERFACE(IFoundElementInfo)
607 SDK_DECLARE_IID(IFoundElementInfo)
616 SDKUInt32& count)
const throw() = 0;
621 IFoundElementInfoSP& element_info)
const throw() = 0;
623 SDK_IMPLEMENT_IID(IFoundElementInfoEnum)
624 SDK_END_INTERFACE(IFoundElementInfoEnum)
626 SDK_DECLARE_IID(IFoundElementInfoEnum)
638 SDKAny& value)
const throw() = 0;
642 SDKUInt32& count)
const throw() = 0;
647 IWaypointSP& waypoint )
const throw() = 0;
653 IFoundElementInfoEnum** out_value)
const throw() = 0;
658 double split_distance,
659 SDK_GEOMETRY_NAMESPACE::IGeometrySP& geometry)
const throw() = 0;
664 double split_distance,
665 double corridor_width,
666 SDK_GEOMETRY_NAMESPACE::IGeometrySP& geometry)
const throw() = 0;
671 double split_distance,
672 SDK_GEOMETRY_NAMESPACE::IGeometrySP& geometry)
const throw() = 0;
680 template<
typename T >
682 SDK_NAMESPACE::ScopedAny value;
686 if (ANY_IS_EMPTY(&value))
695 SDK_DECLARE_IID(IRoute)
697 class IRoutePortrayalProperty :
public IGDBObject {
703 RoutePortrayalPropertiesEnum property_id,
704 const SDKAny& property_value)
throw() = 0;
706 SDK_IMPLEMENT_IID(IRoutePortrayalProperty)
707 SDK_END_INTERFACE(IRoutePortrayalProperty)
709 SDK_DECLARE_IID(IRoutePortrayalProperty)
725 SDKUInt32& size) const throw() = 0;
731 SDKUInt32 size_limit) throw() = 0;
733 SDK_IMPLEMENT_IID(IRouteEditorStateStack)
734 SDK_END_INTERFACE(IRouteEditorStateStack)
736 SDK_DECLARE_IID(IRouteEditorStateStack)
743 virtual SDKResult SDK_CALLTYPE GetWorkspace(
748 const SDKString& name)
throw() = 0;
751 virtual SDKResult SDK_CALLTYPE SetRouteProperty(
753 const SDKAny& property_value)
throw() = 0;
756 virtual SDKResult SDK_CALLTYPE InsertWaypoint(
757 SDKUInt32 before_index,
761 virtual SDKResult SDK_CALLTYPE RemoveWaypoint(
762 SDKUInt32 waypoint_index)
throw() = 0;
765 virtual SDKResult SDK_CALLTYPE SetWaypointPosition(
766 SDKUInt32 waypoint_index,
770 virtual SDKResult SDK_CALLTYPE SetWaypointProperty(
771 SDKUInt32 waypoint_index,
773 const SDKAny& value)
throw() = 0;
776 virtual SDKResult SDK_CALLTYPE GetWaypointProperty(
777 SDKUInt32 waypoint_index,
779 SDKAny& value)
const throw() = 0;
782 virtual SDKResult SDK_CALLTYPE SetLegProperty(
785 const SDKAny& value )
throw() = 0;
788 virtual SDKResult SDK_CALLTYPE SetSelectorPosition(
789 SDKUInt32 selector_idx,
790 const SDKAny& selector_type,
794 virtual SDKResult SDK_CALLTYPE RemoveSelector(
795 SDKInt32 selector_idx)
throw() = 0;
798 virtual SDKResult SDK_CALLTYPE ReverseRoute()
throw() = 0;
801 virtual SDKResult SDK_CALLTYPE GetRoute(IRouteSP& route)
throw() = 0;
804 virtual SDKResult SDK_CALLTYPE UpdateChanges()
throw() = 0;
808 virtual SDKResult SDK_CALLTYPE UpdateChangesAsNew()
throw() = 0;
812 virtual SDKResult SDK_CALLTYPE CommitChanges()
throw() = 0;
816 virtual SDKResult SDK_CALLTYPE CommitChangesAsNew()
throw() = 0;
819 virtual SDKResult SDK_CALLTYPE SetBearingLines(
820 SDKUInt32 waypoint_index)
throw() = 0;
823 virtual SDKResult SDK_CALLTYPE RemoveBearingLines()
throw() = 0;
826 virtual SDKResult SDK_CALLTYPE SetBeamLines(
827 SDKUInt32 wp_index,
double beam_line_length)
throw() = 0;
830 virtual SDKResult SDK_CALLTYPE RemoveBeamLines()
throw() = 0;
834 virtual SDKResult SDK_CALLTYPE IsModified()
const throw() = 0;
838 virtual SDKResult SDK_CALLTYPE AppendRoute(
const IRouteSP& route)
throw() = 0;
850 virtual SDKResult SDK_CALLTYPE CreateParametersContainer(
851 ISDKParametersSP& parameters)
throw() = 0;
856 const ISDKParametersSP& parameters)
throw() = 0;
859 virtual SDKResult SDK_CALLTYPE GetRouteCount(
860 SDKUInt32& routes_count)
const throw() = 0;
864 SDKUInt32 route_index,
865 IRouteSP& route)
const throw() = 0;
869 const SDKString& route_name,
870 IRouteSP& route)
const throw() = 0;
873 virtual SDKResult SDK_CALLTYPE CreateRoute(
874 const SDKString& route_name,
875 const SDKString& workspace_name,
876 IRouteEditorSP& route_editor)
throw() = 0;
879 virtual SDKResult SDK_CALLTYPE EditRoute(
880 const SDKString& route_name,
881 const SDKString& workspace_name,
882 IRouteEditorSP& route_editor)
throw() = 0;
885 virtual SDKResult SDK_CALLTYPE DeleteRoute(
886 const SDKString& route_name)
throw() = 0;
889 virtual SDKResult SDK_CALLTYPE GetRouteStatus(
890 const SDKAny& route_id,
891 SDKUInt64& status)
throw() = 0;
894 virtual SDKResult SDK_CALLTYPE SetRouteStatus(
895 const SDKAny& route_id,
896 const SDKUInt64& status)
throw() = 0;
899 virtual SDKResult SDK_CALLTYPE SaveRoute(
900 const SDKAny& route_id)
throw() = 0;
903 virtual SDKResult SDK_CALLTYPE GetFileNameFromRouteName(
904 SDKUInt32 route_format,
905 const SDKString& route_name,
906 SDKString& route_file_name)
const throw() = 0;
910 virtual SDKResult SDK_CALLTYPE GetNamesOfRoutesFromFile(
911 SDKUInt32& route_format,
912 const SDKString& route_file_pathname,
913 IEnumSDKStringSP& enum_route_name)
throw() = 0;
924 virtual SDKResult SDK_CALLTYPE ImportRoute(
925 SDKUInt32 route_format,
926 const SDKString& input_route_path,
927 const SDKString& output_route_filename,
928 const SDKString& route_name_to_import,
929 const SDKString& route_name_to_set,
930 IRouteEditorSP& route_editor)
throw() = 0;
937 virtual SDKResult SDK_CALLTYPE ImportRoute(
938 SDKUInt32 route_format,
939 const SDKString& input_route_path,
940 const ISDKParametersSP& parameters,
941 IRouteEditorSP& route_editor)
throw() = 0;
948 virtual SDKResult SDK_CALLTYPE ExportRoute(
949 SDKUInt32 route_format,
950 const SDKString& route_name,
951 const SDKString& route_dirname,
952 const SDKString& route_filename)
const throw() = 0;
959 virtual SDKResult SDK_CALLTYPE ExportRoute(
960 SDKUInt32 route_format,
961 const SDKString& route_name,
962 const SDKString& route_dirname,
963 const ISDKParametersSP& parameters)
const throw() = 0;
966 virtual SDKResult SDK_CALLTYPE ReloadRoute(
967 const SDKString& route_file_pathname)
throw() = 0;
972 virtual SDKResult SDK_CALLTYPE GetSupportedRouteFormats(
973 ICollectionSDKPropertiesSP& route_formats)
const throw() = 0;
979 virtual SDKResult SDK_CALLTYPE GetRouteFileContent(
980 const SDKString& route_name, SDKArray& route_content)
const throw() = 0;
983 virtual SDKResult SDK_CALLTYPE EditRouteFromRouteFileContent(
984 const SDKArray& route_file_content,
985 const SDKString& workspace_name,
986 IRouteEditorSP& route_editor)
throw() = 0;
989 virtual SDKResult SDK_CALLTYPE RestoreRoute(
990 const SDKString& route_name)
throw() = 0;
993 virtual SDKResult SDK_CALLTYPE DeleteRoutePermanently(
994 const SDKString& route_name)
throw() = 0;
1001 virtual SDKResult SDK_CALLTYPE ExportRouteToStream(
1002 SDKUInt32 route_format,
1003 const SDKString& route_name,
1004 const ISDKParametersSP& params,
1005 base::ISDKStreamSP& stream)
const throw() = 0;
1010 SDK_DECLARE_IID(IRouteStorage)
1018 virtual SDKResult SDK_CALLTYPE GetDistanceToCurve(
1020 const SDK_GEOMETRY_NAMESPACE::IGeometrySP& to,
1022 double& distance_to_curve)
throw() = 0;
1024 SDK_IMPLEMENT_IID(IRouteUtil)
1025 SDK_END_INTERFACE(IRouteUtil)
1027 SDK_DECLARE_IID(IRouteUtil)
1034 virtual void SDK_CALLTYPE StartLoading() throw() = 0;
1035 virtual
void SDK_CALLTYPE StopLoading() throw() = 0;
1036 virtual
bool SDK_CALLTYPE IsBeingLoaded() const throw() = 0;
1039 virtual
SDKResult SDK_CALLTYPE SetWaypointCount(
size_t wp_count) throw() = 0;
1042 virtual
SDKResult SDK_CALLTYPE AppendWaypoint(
1045 SDK_IMPLEMENT_IID(IRouteEditorInternal)
1046 SDK_END_INTERFACE(IRouteEditorInternal)
1048 SDK_DECLARE_IID(IRouteEditorInternal)
1051 SDK_GDB_END_NAMESPACE
1053 #endif // SDK_ROUTE_STORAGE_INTERFACES_H_