11 #ifndef SDK_ARCS_INTERFACE_H_
12 #define SDK_ARCS_INTERFACE_H_
30 SDK_ARCS_BEGIN_NAMESPACE
35 static const wchar_t kFolderNameChartCD[] = L
"CHARTCD";
36 static const wchar_t kFolderNameUpdateCD[] = L
"UPDATECD";
38 static const SDKUInt32 kWholePlanIndex = -1;
46 enum VolumeDescription {
47 kVolumeDescription_CountryCode = 0,
48 kVolumeDescription_CdNumber,
49 kVolumeDescription_Copyright,
50 kVolumeDescription_CountryName,
51 kVolumeDescription_FormatCD,
52 kVolumeDescription_FormatVersion,
53 kVolumeDescription_Path,
54 kVolumeDescription_IssueDate
58 kARCSDongleData_PIN = 0,
61 kARCSDongleData_USER_PERMIT,
66 typedef enum ArcsCatalogEntryType {
67 kArcsCatEntryType_Charts = 0,
68 kArcsCatEntryType_Volumes,
69 } ArcsCatalogEntryType;
73 kARCSChartCatEntryProperty_ChartNumber = 0,
74 kARCSChartCatEntryProperty_RasterChartIssueDate,
75 kARCSChartCatEntryProperty_LatestCorrectionIssueDate,
76 kARCSChartCatEntryProperty_N00FileIssueDate,
77 kARCSChartCatEntryProperty_EditionDate,
78 kARCSChartCatEntryProperty_IntNumber,
79 kARCSChartCatEntryProperty_MainTitle,
80 kARCSChartCatEntryProperty_LatestNMNum,
81 kARCSChartCatEntryProperty_LatestNMYear,
82 kARCSChartCatEntryProperty_ChartCDNumber,
83 kARCSChartCatEntryProperty_Scale,
84 kARCSChartCatEntryProperty_DepthUnitCode,
85 kARCSChartCatEntryProperty_CountryOfOrigin,
86 kARCSChartCatEntryProperty_NumberOfPlans,
87 kARCSChartCatEntryProperty_IsSheetOfPlans,
88 kARCSChartCatEntryProperty_PlanNumber,
90 kARCSChartCatEntryProperty_Subplans,
92 kARCSChartCatEntryProperty_Geometry,
96 typedef enum ARCSPermitType {
97 kARCSPermitType_Navigator = 0,
98 kARCSPermitType_Skipper,
101 typedef enum ARCSPermitsProperties {
103 kARCSPermitsProperty_License = 0,
105 kARCSPermitsProperty_LicenseType,
106 kARCSPermitsProperty_VesselName,
107 kARCSPermitsProperty_Site1,
108 kARCSPermitsProperty_Site2,
109 kARCSPermitsProperty_Site3,
110 kARCSPermitsProperty_Site4,
111 kARCSPermitsProperty_Site5,
112 kARCSPermitsProperty_Site6,
113 kARCSPermitsProperty_HostSystemName,
115 kARCSPermitsProperty_UserPermit,
117 kARCSPermitsProperty_HO_Data,
119 kARCSPermitsProperty_MAC,
120 kARCSPermitsProperty_PermitsNum,
121 kARCSPermitsProperty_PermitsPath,
122 kARCSPermitsProperty_Status,
123 kARCSPermitsProperty_Date,
124 } ARCSPermitsProperties;
129 kARCSPermitProperty_ChartNumber = 0,
130 kARCSPermitProperty_LicenseType,
133 kARCSPermitProperty_ExpiredDate,
135 kARCSPermitProperty_ENC,
137 kARCSPermitProperty_PENC,
140 kARCSPermitProperty_PSeqNo,
142 kARCSPermitProperty_PNM,
143 kARCSPermitProperty_IsValid,
144 kARCSPermitProperty_Status,
149 kARCSBitmapPalette_Day = 0,
150 kARCSBitmapPalette_Dusk,
151 kARCSBitmapPalette_Night,
156 kARCSVolumesCatEntryProperty_CountryCode = kVolumeDescription_CountryCode,
157 kARCSVolumesCatEntryProperty_CdNumber = kVolumeDescription_CdNumber,
158 kARCSVolumesCatEntryProperty_Copyright = kVolumeDescription_Copyright,
159 kARCSVolumesCatEntryProperty_CountryName = kVolumeDescription_CountryName,
160 kARCSVolumesCatEntryProperty_FormatCD = kVolumeDescription_FormatCD,
161 kARCSVolumesCatEntryProperty_FormatVersion = kVolumeDescription_FormatVersion,
162 kARCSVolumesCatEntryProperty_Path = kVolumeDescription_Path,
163 kARCSVolumesCatEntryProperty_IssueDate = kVolumeDescription_IssueDate,
164 kARCSVolumesCatEntryProperty_Name = 100,
169 kARCSDictionaryType_Countries = 0,
170 kARCSDictionaryType_Units,
171 kARCSDictionaryType_Projections,
172 kARCSDictionaryType_HorizontalDatums,
173 kARCSDictionaryType_VerticalDatums,
174 kARCSDictionaryType_Notes,
179 kARCSChartProperty_LatestNM = 0,
180 kARCSChartProperty_MirroringRaster,
181 kARCSChartProperty_Scale,
182 kARCSChartProperty_PlansManualShift,
187 kARCSPlanAttribute_CountryCode = 1,
188 kARCSPlanAttribute_ChartNumber,
189 kARCSPlanAttribute_NXXFileIssueDate,
190 kARCSPlanAttribute_PanelNumber,
191 kARCSPlanAttribute_Scale,
192 kARCSPlanAttribute_DepthUnits,
193 kARCSPlanAttribute_HeightUnits,
194 kARCSPlanAttribute_PlanTitle,
195 kARCSPlanAttribute_SubpanelsNumber,
196 kARCSPlanAttribute_IsWGSProjectionSupported,
197 kARCSPlanAttribute_IsLocalProjectionSupported,
198 kARCSPlanAttribute_NotesNumber,
199 kARCSPlanAttribute_IsSheetOfPlans,
200 kARCSPlanAttribute_Status,
201 kARCSPlanAttribute_ProjectionName,
202 kARCSPlanAttribute_ProjectionSpheroidName,
203 kARCSPlanAttribute_HorizontalDatum,
204 kARCSPlanAttribute_HorizontalDatumSubArea,
205 kARCSPlanAttribute_DepthDatum,
206 kARCSPlanAttribute_HeightDatum,
207 kARCSPlanAttribute_WGS84ShiftDataNS,
208 kARCSPlanAttribute_WGS84ShiftDataEW,
209 kARCSPlanAttribute_WGS84AccuracyDataNS,
210 kARCSPlanAttribute_WGS84AccuracyDataEW,
215 kARCSPlanShiftProperty_PlanNumber,
216 kARCSPlanShiftProperty_ShiftDataNS,
217 kARCSPlanShiftProperty_ShiftDataEW,
218 } ARCSPlanOffsetProperty;
222 kPlanProjectionType_WGS = 0,
223 kPlanProjectionType_Local,
226 typedef enum ARCSStatusCode {
227 kARCSStatusCode_01 = 0x00001,
228 kARCSStatusCode_02 = 0x00002,
229 kARCSStatusCode_03 = 0x00004,
230 kARCSStatusCode_04 = 0x00008,
231 kARCSStatusCode_05 = 0x00010,
232 kARCSStatusCode_06 = 0x00020,
233 kARCSStatusCode_07 = 0x00040,
234 kARCSStatusCode_08 = 0x00080,
235 kARCSStatusCode_09 = 0x00100,
236 kARCSStatusCode_10 = 0x00200,
237 kARCSStatusCode_11 = 0x00400,
238 kARCSStatusCode_12 = 0x00800,
239 kARCSStatusCode_13 = 0x01000,
240 kARCSStatusCode_14 = 0x02000,
241 kARCSStatusCode_15 = 0x04000,
242 kARCSStatusCode_16 = 0x08000,
243 kARCSStatusCode_17 = 0x10000,
244 kARCSStatusCode_18 = 0x20000,
245 kARCSStatusCode_19 = 0x40000,
246 kARCSStatusCode_20 = 0x80000,
249 typedef SDKUInt32 ARCSStatus;
272 virtual SDKResult SDK_CALLTYPE GetVolumeInfo(
273 const SDKString& volume_path,
274 ISDKPropertiesSP& info)
throw() = 0;
276 virtual SDKResult SDK_CALLTYPE InstallVolume(
277 const SDKString& volume_path,
278 const SDKString& collection_path)
throw() = 0;
280 virtual SDKResult SDK_CALLTYPE EnumVolumes(
281 SDK_NAMESPACE::IEnumSDKComponentSP& volumes)
const throw() = 0;
283 virtual SDKResult SDK_CALLTYPE UninstallVolumes(
284 const SDKString& volume_names)
throw() = 0;
286 virtual SDKResult SDK_CALLTYPE OpenChartCollection(
287 const SDKString& collection_path,
288 IARCSCollectionSP& collection)
throw() = 0;
297 virtual SDKResult SDK_CALLTYPE CreatePermit(
298 IARCSPermitsSP& permit)
throw() = 0;
300 virtual SDKResult SDK_CALLTYPE CreateCoverageCatalog(
301 const SDKString& collection_path,
const SDKString& catalog_path)
throw() = 0;
303 virtual SDKResult SDK_CALLTYPE CreateCoverageCatalog(
304 const IARCSCollectionSP& collection,
const SDKString& catalog_path)
throw() = 0;
306 virtual SDKResult SDK_CALLTYPE CreatePlanShift(
307 IARCSPlanShiftSP& plan_shift)
throw() = 0;
309 SDK_IMPLEMENT_IID(IARCSInstallerUtils);
310 SDK_END_INTERFACE(IARCSInstallerUtils);
312 SDK_DECLARE_IID(IARCSInstallerUtils)
320 virtual SDKResult SDK_CALLTYPE SetPermit(
321 const IARCSPermitsSP& permit)
throw() = 0;
323 virtual SDKResult SDK_CALLTYPE GetPermit(
324 IARCSPermitsSP& permit)
throw() = 0;
326 virtual SDKResult SDK_CALLTYPE ReadVolumes(
327 const SDKAny& collection_path)
throw() = 0;
329 virtual SDKResult SDK_CALLTYPE GetChartByName(
330 const SDKString& chart_name,
331 SDK_ARCS_NAMESPACE::IARCSChartSP& chart)
throw() = 0;
333 virtual SDKResult SDK_CALLTYPE GetCharts(
334 const SDK_GEOMETRY_NAMESPACE::IGeometrySP& geometry_filter,
335 const SDK_GDB_NAMESPACE::IQueryParametersSP& query_parameters,
336 SDK_NAMESPACE::IEnumSDKComponentSP& charts)
throw() = 0;
338 virtual SDKResult SDK_CALLTYPE GetCatalog(
339 const ArcsCatalogEntryType type,
340 SDK_ARCS_NAMESPACE::IARCSCatalogSP& catalog)
const throw() = 0;
342 virtual SDKResult SDK_CALLTYPE GetDictionary(
343 SDK_ARCS_NAMESPACE::IARCSDictionarySP& dictionary)
throw() = 0;
360 const SDKString& dongle_data)
throw() = 0;
368 ARCSDongleData param,
369 SDKString& out_str)
const throw() = 0;
379 ARCSDongleData param,
381 SDKUInt32& data_size)
const throw() = 0;
383 virtual SDKResult SDK_CALLTYPE CreatePermit(
const SDKString & pin,
384 const SDKString & uid,
385 const SDKString & mid1,
386 const SDKString & mid2,
387 SDKString & user_permit)
throw() = 0;;
399 virtual SDKResult SDK_CALLTYPE CreatePermit(
const SDKString & pin,
400 const SDKString & uid,
401 const SDKString & mid1,
402 const SDKString & mid2,
403 SDKString & user_permit)
throw() = 0;
419 const IARCSDongleSP& dongle)
throw() = 0;
426 const SDKString& permit_path)
throw() = 0;
434 SDK_NAMESPACE::IEnumSDKComponentSP& permits)
const throw() = 0;
441 class IARCSCatalog :
public SDK_GDB_NAMESPACE::ICatalog {
454 const SDK_GEOMETRY_NAMESPACE::IGeometrySP& geometry,
455 const SDK_GDB_NAMESPACE::IQueryParametersSP& query_parameters,
456 SDK_NAMESPACE::IEnumSDKComponentSP& enum_charts)
throw() = 0;
477 SDKString& name)
const throw() = 0;
479 virtual SDKResult SDK_CALLTYPE GetRasterEx(SDKUInt8 palette,
480 bool indexed,
bool low_resolution, IARCSRasterExSP& raster)
throw() = 0;
482 virtual SDKResult SDK_CALLTYPE GetPlansNumber(SDKUInt32 &number)
throw() = 0;
484 virtual SDKResult SDK_CALLTYPE GetPlan(SDKUInt32 number, IARCSPlanSP& pPlan)
throw() = 0;
486 virtual SDKResult SDK_CALLTYPE GetPalletesNum(SDKUInt32& num)
throw() = 0;
488 virtual SDKResult SDK_CALLTYPE GetDictionaryValue(
const SDKUInt32 type,
const
489 SDKAny& key, SDKAny& value)
const throw() = 0;
498 virtual SDKResult SDK_CALLTYPE GetVertex(SDKUInt32 index,
499 geometry::IGeometrySP & pIGeometry)
const throw() = 0;
500 virtual SDKResult SDK_CALLTYPE GetAttribute(SDKUInt32
id,
501 SDKAny& value)
const throw() = 0;
502 virtual SDKResult SDK_CALLTYPE GetSubplanAttribute(SDKUInt32 index,
503 SDKUInt32
id, SDKAny& value)
const throw() = 0;
504 virtual SDKResult SDK_CALLTYPE GetTestPoints(SDKUInt32 index,
505 geometry::IGeometrySP& pIGeoPoints,
506 geometry::IGeometrySP& pIMapPoints)
const throw() = 0;
507 virtual SDKResult SDK_CALLTYPE GetProjection(SDKUInt32 index,
508 SDKUInt32 ptype, SDK_CRS_NAMESPACE::IProjectionSP& projection)
const throw() = 0;
510 IEnumSDKComponentSP& notes)
const throw() = 0;
511 virtual SDKResult SDK_CALLTYPE GetSubplanNum(SDKUInt32& count)
const throw() = 0;
512 virtual SDKResult SDK_CALLTYPE GetSubplan(SDKUInt32 index,
513 IARCSSubplanSP& subplan)
const throw() = 0;
514 virtual SDKResult SDK_CALLTYPE GetDataset(
515 SDK_GDB_NAMESPACE::IDatasetSP& dataset)
const throw() = 0;
517 SDK_IMPLEMENT_IID(IARCSPlan);
518 SDK_END_INTERFACE(IARCSPlan);
520 SDK_DECLARE_IID(IARCSPlan)
524 virtual SDKResult SDK_CALLTYPE GetVertex(
525 SDK_GEOMETRY_NAMESPACE::IGeometrySP& geometry)
const throw() = 0;
527 virtual SDKResult SDK_CALLTYPE GetTestPoints(
528 SDK_GEOMETRY_NAMESPACE::IGeometrySP& pIGeoPoints,
529 SDK_GEOMETRY_NAMESPACE::IGeometrySP& pIMapPoints)
const throw() = 0;
531 virtual SDKResult SDK_CALLTYPE GetAttribute(SDKUInt32
id,
532 SDKAny& value)
const throw() = 0;
534 virtual SDKResult SDK_CALLTYPE GetProjection(SDKUInt32 type,
535 SDK_CRS_NAMESPACE::IProjectionSP& projection)
const throw() = 0;
538 IEnumSDKComponentSP& notes)
const throw() = 0;
540 SDK_IMPLEMENT_IID(IARCSSubplan);
541 SDK_END_INTERFACE(IARCSSubplan);
543 SDK_DECLARE_IID(IARCSSubplan)
548 virtual SDKResult SDK_CALLTYPE GetEnvelope(SDKRect2D& envelop)
const throw() = 0;
550 virtual SDKResult SDK_CALLTYPE GetType(SDKAny& type)
const throw() = 0;
552 virtual SDKResult SDK_CALLTYPE GetLocation(SDKAny& location)
const throw() = 0;
554 SDK_IMPLEMENT_IID(IARCSNote);
555 SDK_END_INTERFACE(IARCSNote);
557 SDK_DECLARE_IID(IARCSNote)
563 virtual SDKResult SDK_CALLTYPE GetClassCode(
const SDKAny& key,
566 virtual SDKResult SDK_CALLTYPE GetValue(
const SDKUInt32 type,
const
567 SDKAny& key, SDKAny& value)
const throw() = 0;
569 virtual SDKResult SDK_CALLTYPE GetValue(
const SDKUInt32 type,
570 const SDKAny& country,
const SDKAny& key, SDKAny& value)
const throw() = 0;
580 virtual SDKResult SDK_CALLTYPE SetBuffer(SDKUInt8* data,
581 const SDKUInt32 data_size)
throw() = 0;
583 virtual SDKResult SDK_CALLTYPE GetInfo(SDKUInt32& raw_width,
584 SDKUInt32& raw_height, SDKUInt32& raw_stride,
585 SDKUInt32& raw_data_size, SDKUInt32& palette_size)
const throw() = 0;
586 virtual SDKResult SDK_CALLTYPE GetData(
const SDKUInt8** data,
587 SDKUInt32& real_width, SDKUInt32& real_height, SDKUInt32& real_stride,
588 SDKUInt32& real_data_size)
const throw() = 0;
589 virtual SDKResult SDK_CALLTYPE GetPalette(
const SDKUInt8* data,
590 SDKUInt32& data_size)
const throw() = 0;
592 SDK_IMPLEMENT_IID(IARCSRasterEx);
593 SDK_END_INTERFACE(IARCSRasterEx);
595 SDK_DECLARE_IID(IARCSRasterEx);
598 class IARCSPlanShift :
public ISDKParameters {
600 SDK_IMPLEMENT_IID(IARCSPlanShift);
601 SDK_END_INTERFACE(IARCSPlanShift);
603 SDK_DECLARE_IID(IARCSPlanShift);
605 SDK_ARCS_END_NAMESPACE
609 #endif // SDK_ARCS_INTERFACE_H_