Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / corba-idl / gias / gias.idl
blob89aa20bbaac2c16c946e193c37461a019fadb11a
1 #ifndef GIAS_IDL
2 #define GIAS_IDL
4 //***************************************************************
5 //* APPROVED via RFC N01-0268 on 6 August 2001
6 //***************************************************************
9 //***************************************************************
10 //*
11 //* The Geospatial and Imagery Access Service
12 //*
13 //*
14 //* Description: Defines the data types and interfaces needed
15 //* to support search, retrieval and access to geospatial
16 //* data such as images, maps charts and their supporting
17 //* data
18 //*
19 //*
20 //*
21 //* History:
22 //* Date Author Comment
23 //* ----- -------- ------------
24 //* 15 May 97 D. Lutz Initial release for review
25 //* 2 July 97 D. Lutz Released for TEM Review
26 //* 11 July 97 D. Lutz Changes based on 2 July TEM
27 //* 18 July 97 D. Lutz Released for NIMA CCB
28 //* 24 Oct 97 D. Lutz Changes based on 7 Oct TEM
29 //* 14 Nov 97 D. Lutz Changes based on 4 Nov TEM
30 //* 17 Dec 97 D. Lutz Changes based on 9 Dec TEM
31 //* 15 Apr 98 J. Baldo changes based on Mar TEM
32 //* 7 May 98 D.Lutz Changes based on 1 May TEM
33 //* 2 Jul 98 J. Baldo/D. Lutz Changes based
34 //* on 22-23 Jun TEM Requests - GIAS 3.2
35 //* 2 Jul 98 (J. Baldo): Callback module has been removed
36 //* from previous GIAS 3.2 specification release
37 //* 5 June 1998 and will be included in GIAS 3.3
38 //* 5 Nov 98 D. Lutz Added first version of UpdateMgr
39 //*
40 //* 10 Mar 99 J. Baldo Changes based on March 99 TEM
41 //*
42 //* 5 August D. Lutz Mods from 3-4 August UIP WG.
43 //* 18 Februray 2000 D. Lutz New Generic Exception Model
44 //*
45 //*
46 //*
47 //*
48 //***************************************************************
50 //***************************************************************
51 //* The USIGS Common Object Specification (UCOS) contains
52 //* all the basic data types and interfaces common across
53 //* USIGS
54 //***************************************************************
56 #include "uco.idl"
57 #include "cb.idl"
58 #include "uid.idl"
60 //***************************************************************
61 //*
62 //* Module GIAS
63 //*
64 //*
65 //* Description: The main module for the Geospatial & Imagery
66 //* Access Service
67 //*
68 //*
69 //***************************************************************
71 module GIAS
74 //Forward references for all interfaces, just for convenience
76 // The Library itself
77 interface Library;
80 // Abstract classes that help define the managers
81 interface LibraryManager;
82 interface RequestManager;
83 interface AccessManager;
85 // Specific managers defined
86 interface OrderMgr;
87 interface CreationMgr;
88 interface UpdateMgr;
89 interface CatalogMgr;
90 interface StandingQueryMgr;
91 interface ProductMgr;
92 interface IngestMgr;
93 interface QueryOrderMgr;
94 interface DataModelMgr;
95 //interface VideoMgr;
97 // The abstract request objects
98 interface Request;
100 // Specific requests defined
101 interface OrderRequest;
102 interface CreateRequest;
103 interface CreateMetaDataRequest;
104 interface UpdateRequest;
105 interface SubmitQueryRequest;
106 interface SubmitStandingQueryRequest;
107 interface SetAvailabilityRequest;
108 interface HitCountRequest;
109 interface GetParametersRequest;
110 interface IngestRequest;
111 interface SubmitQueryOrderRequest;
112 interface GetRelatedFilesRequest;
113 interface CreateAssociationRequest;
114 interface UpdateByQueryRequest;
117 //***************************************************************
118 //* DataTypes re-used from UCOS
119 //***************************************************************
121 typedef UCO::NameValueList PropertyList;
123 typedef UCO::Rectangle GeoRegion;
124 enum GeoRegionType {
125 LINE_SAMPLE_FULL,
126 LINE_SAMPLE_CHIP,
127 LAT_LON ,
128 ALL,
129 NULL_REGION};
133 //***************************************************************
134 //* GIAS specific data types
135 //***************************************************************
138 enum AvailabilityRequirement
140 REQUIRED, NOT_REQUIRED
143 typedef string UseMode;
145 typedef sequence <short> RsetList;
147 enum OrderType {STANDING, IMMEDIATE};
149 typedef any ProductSpec;
151 typedef string ProductFormat;
152 typedef string ImageUniqueIdentifier;
153 typedef string ImageFormat;
154 typedef string Compression;
155 typedef short BitsPerPixel;
156 typedef string Algorithm;
157 enum SupportDataEncoding {ASCII, EBCDIC};
159 typedef sequence < ProductFormat > ProductFormatList;
160 struct ImageSpec
162 ImageFormat imgform;
163 ImageUniqueIdentifier imageid;
164 Compression comp;
165 BitsPerPixel bpp;
166 Algorithm algo;
167 RsetList rrds;
168 GeoRegion sub_section;
169 GeoRegionType geo_region_type;
170 SupportDataEncoding encoding;
172 typedef sequence < ImageSpec > ImageSpecList;
174 struct AlterationSpec
176 ProductFormat pf;
177 ProductSpec ps;
178 GeoRegion sub_section;
179 GeoRegionType geo_region_type;
181 typedef sequence < AlterationSpec > AlterationSpecList;
183 struct PackagingSpec
185 string package_identifier;
186 string packaging_format_and_compression;
190 struct TailoringSpec {
191 UCO::NameNameList specs;
194 struct MediaType
196 string media_type;
197 unsigned short quantity;
200 typedef sequence < MediaType > MediaTypeList;
202 struct PhysicalDelivery
204 string address;
207 enum DestinationType
209 FTP, EMAIL, PHYSICAL
212 union Destination switch (DestinationType)
214 case FTP: UCO::FileLocation f_dest;
215 case EMAIL: UCO::EmailAddress e_dest;
216 case PHYSICAL: PhysicalDelivery h_dest;
219 typedef sequence < Destination > DestinationList;
223 struct ValidationResults
225 boolean valid;
226 boolean warning;
227 string details;
230 typedef sequence < ValidationResults > ValidationResultsList;
232 typedef UCO::Name RelatedFileType;
233 typedef sequence<RelatedFileType> RelatedFileTypeList;
234 struct RelatedFile
236 RelatedFileType file_type;
237 UCO::FileLocation location;
239 typedef sequence <RelatedFile> RelatedFileList;
241 enum ConceptualAttributeType
243 FOOTPRINT, CLASSIFICATION, OVERVIEW, THUMBNAIL, DATASETTYPE,
244 MODIFICATIONDATE, PRODUCTTITLE, DIRECTACCESS, DIRECTACCESSPROTOCOL, UNIQUEIDENTIFIER, DATASIZE};
247 typedef string Entity;
248 typedef string ViewName;
249 typedef sequence< ViewName > ViewNameList;
250 struct View {
251 ViewName view_name;
252 boolean orderable;
253 ViewNameList sub_views;
256 typedef sequence < View > ViewList;
259 enum DomainType
261 DATE_VALUE, TEXT_VALUE, INTEGER_VALUE, FLOATING_POINT_VALUE, LIST,
262 ORDERED_LIST, INTEGER_RANGE, FLOATING_POINT_RANGE, GEOGRAPHIC, INTEGER_SET, FLOATING_POINT_SET, GEOGRAPHIC_SET, BINARY_DATA, BOOLEAN_VALUE };
264 struct DateRange
266 UCO::AbsTime earliest;
267 UCO::AbsTime latest;
270 struct IntegerRange
272 long lower_bound;
273 long upper_bound;
276 struct FloatingPointRange
278 double lower_bound;
279 double upper_bound;
284 typedef sequence < IntegerRange > IntegerRangeList;
286 typedef sequence < FloatingPointRange > FloatingPointRangeList;
287 union Domain switch (DomainType)
290 case DATE_VALUE: DateRange d;
291 case TEXT_VALUE: unsigned long t;
292 case INTEGER_VALUE: IntegerRange iv;
293 case INTEGER_SET: IntegerRangeList is;
294 case FLOATING_POINT_VALUE: FloatingPointRange fv;
295 case FLOATING_POINT_SET: FloatingPointRangeList fps;
296 case LIST: UCO::NameList l;
297 case ORDERED_LIST: UCO::NameList ol;
298 case INTEGER_RANGE: IntegerRange ir;
299 case FLOATING_POINT_RANGE: FloatingPointRange fr;
300 case GEOGRAPHIC: UCO::Rectangle g;
301 case GEOGRAPHIC_SET: UCO::RectangleList gs;
302 case BINARY_DATA: UCO::BinData bd;
303 case BOOLEAN_VALUE: boolean bv;
306 enum AttributeType
308 TEXT,
309 INTEGER,
310 FLOATING_POINT,
311 UCOS_COORDINATE,
312 UCOS_POLYGON,
313 UCOS_ABS_TIME,
314 UCOS_RECTANGLE,
315 UCOS_SIMPLE_GS_IMAGE,
316 UCOS_SIMPLE_C_IMAGE,
317 UCOS_COMPRESSED_IMAGE,
318 UCOS_HEIGHT,
319 UCOS_ELEVATION,
320 UCOS_DISTANCE,
321 UCOS_PERCENTAGE,
322 UCOS_RATIO,
323 UCOS_ANGLE,
324 UCOS_FILE_SIZE,
325 UCOS_FILE_LOCATION,
326 UCOS_COUNT,
327 UCOS_WEIGHT,
328 UCOS_DATE,
329 UCOS_LINESTRING,
330 UCOS_DATA_RATE,
331 UCOS_BIN_DATA,
332 BOOLEAN_DATA,
333 UCOS_DURATION
337 enum RequirementMode
339 MANDATORY, OPTIONAL
342 struct AttributeInformation
344 string attribute_name;
345 AttributeType attribute_type;
346 Domain attribute_domain;
347 string attribute_units;
348 string attribute_reference;
349 RequirementMode mode;
350 string description;
351 boolean sortable;
352 boolean updateable;
354 typedef sequence < AttributeInformation > AttributeInformationList;
355 struct Association {
356 string name;
357 ViewName view_a;
358 ViewName view_b;
359 string description;
360 UCO::Cardinality card;
361 AttributeInformationList attribute_info;
364 typedef sequence <Association> AssociationList;
365 typedef sequence < Library > LibraryList;
367 typedef string ManagerType;
368 typedef sequence < ManagerType > ManagerTypeList;
370 typedef sequence < Request > RequestList;
372 typedef sequence < UseMode > UseModeList;
375 struct LibraryDescription
377 string library_name;
378 string library_description;
379 string library_version_number;
381 typedef sequence < LibraryDescription > LibraryDescriptionList;
383 struct Query{
384 ViewName view;
385 string bqs_query;
389 typedef UCO::DAGList QueryResults;
393 enum NamedEventType
395 START_EVENT,
396 STOP_EVENT,
397 FREQUENCY_EVENT
400 struct Event {
401 string event_name;
402 NamedEventType event_type;
403 string event_description;
405 typedef sequence < Event > EventList;
407 enum DayEvent { MON, TUE, WED, THU, FRI, SAT, SUN, FIRST_OF_MONTH, END_OF_MONTH };
409 struct DayEventTime
411 DayEvent day_event;
412 UCO::Time time;
415 enum LifeEventType {ABSOLUTE_TIME, DAY_EVENT_TIME, NAMED_EVENT, RELATIVE_TIME};
417 union LifeEvent switch ( LifeEventType)
419 case ABSOLUTE_TIME: UCO::AbsTime at;
420 case DAY_EVENT_TIME: DayEventTime day_event;
421 case NAMED_EVENT: string ev;
422 case RELATIVE_TIME: UCO::Time rt;
425 typedef sequence < LifeEvent > LifeEventList;
428 struct QueryLifeSpan {
429 LifeEvent start;
430 LifeEvent stop;
431 LifeEventList frequency;
436 enum Polarity { ASCENDING, DESCENDING };
438 struct SortAttribute
440 UCO::Name attribute_name;
441 Polarity sort_polarity;
444 typedef sequence < SortAttribute > SortAttributeList;
446 struct DelayEstimate {
447 unsigned long time_delay;
448 boolean valid_time_delay;
450 struct ProductDetails {
451 MediaTypeList mTypes;
452 UCO::NameList benums;
453 AlterationSpec aSpec;
454 UID::Product aProduct;
455 string info_system_name;
457 typedef sequence <ProductDetails> ProductDetailsList;
459 struct DeliveryDetails {
460 Destination dests;
461 string receiver;
462 string shipmentMode;
464 typedef sequence < DeliveryDetails > DeliveryDetailsList;
466 struct OrderContents {
467 string originator;
468 TailoringSpec tSpec;
469 PackagingSpec pSpec;
470 UCO::AbsTime needByDate;
471 string operatorNote;
472 short orderPriority;
473 ProductDetailsList prod_list;
474 DeliveryDetailsList del_list;
477 struct QueryOrderContents {
478 string originator;
479 TailoringSpec tSpec;
480 PackagingSpec pSpec;
481 string operatorNote;
482 short orderPriority;
483 AlterationSpec aSpec;
484 DeliveryDetailsList del_list;
487 struct AccessCriteria {
488 string userID;
489 string password;
490 string licenseKey;
492 struct PackageElement {
493 UID::Product prod;
494 UCO::NameList files;
496 typedef sequence< PackageElement > PackageElementList;
498 struct DeliveryManifest {
499 string package_name;
500 PackageElementList elements;
502 typedef sequence<DeliveryManifest> DeliveryManifestList;
504 typedef string CallbackID;
506 //***************************************************************
507 //* The Exceptions Identifiers
508 //* Note: Three sets of IDL Strings Constants are being used as
509 //* the Exceptions for the GIAS
510 //***************************************************************
511 // UCO::InvalidInputParameter Exceptions
512 const string BadAccessCriteriaConst = "BadAccessCriteria";
513 const string BadAccessValueConst = "BadAccessValue";
514 const string BadCreationAttributeValueConst = "BadCreationAttributeValue";
515 const string BadEmailAddressConst = "BadEmailAddress";
516 const string BadGeoRegionConst = "BadGeoRegion";
517 const string BadLocationConst = "BadLocation";
518 const string BadPropertyValueConst = "BadPropertyValue";
519 const string BadQueryConst = "BadQuery";
520 const string BadQueryAttributeConst = "BadQueryAttribute";
521 const string BadQueryValueConst = "BadQueryValue";
522 const string BadTimeConst = "BadTime";
523 const string BadUseModeConst = "BadUseMode";
524 const string UnknownCallBackConst = "UnknownCallBack";
525 const string UnknownCreationAttributeConst = "UnknownCreationAttribute";
526 const string UnknownManagerTypeConst = "UnknownManagerType";
527 const string UnknownProductConst = "UnknownProduct";
528 const string UnknownPropertyConst = "UnknownProperty";
529 const string UnknownRequestConst = "UnknownRequest";
530 const string UnregisteredCallbackConst = "UnregisteredCallback";
531 const string UnknownUseModeConst = "UnknownUseMode";
532 const string BadOrderConst = "BadOrder";
533 const string UnknownViewNameConst = "UnknownViewName";
534 const string UnknownEntityConst = "UnknownEntity";
535 const string UnsupportedConceptualAttributeConst = "UnsupportedConceptualAttribute";
536 const string NoValuesRequestedConst = "NoValuesRequested";
537 const string BadSortAttributeConst = "BadSortAttribute";
538 const string NonUpdateableAttributeConst = "NonUpdateableAttribute";
539 const string BadFileTypeConst = "BadFileType";
540 const string InvalidCardinalityConst = "InvalidCardinality";
541 const string UnknownAssociationConst = "UnknownAssociation";
542 const string InvalidObjectConst = "InvalidObject";
543 const string UnknownCategoryConst = "UnknownCategory";
544 const string InvalidEventConst = "InvalidEvent";
545 const string BadResultAttributeConst = "BadResultAttribute";
546 const string BadUpdateAttributeConst = "BadUpdateAttribute";
547 const string ImplementationLimitConst = "ImplementationLimit";
549 // UCO::ProcessingFault Exceptions
550 const string ProductUnavailableConst = "ProductUnavailable";
551 const string LockUnavailableConst = "LockUnavailable";
552 const string UnsafeUpdateConst = "UnsafeUpdate";
553 const string ProductLockedConst = "ProductLocked";
555 // UCO::SystemFault Exceptions
556 const string GeneralSystemFaultConst = "GeneralSystemFault";
561 //***************************************************************
562 //* The Interfaces
563 //***************************************************************
565 //***************************************************************
566 //* interface GIAS::Library.
568 //* Description: This object represents a Library. It
569 //* provides operations to discover and acquire manager objects,
570 //* which provide access to all the functionality of this
571 //* Library.
573 //***************************************************************
575 interface Library
578 ManagerTypeList get_manager_types ()
579 raises (UCO::ProcessingFault, UCO::SystemFault);
581 LibraryManager get_manager (in ManagerType manager_type, in
582 AccessCriteria access_criteria)
583 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
585 LibraryDescription get_library_description ()
586 raises (UCO::ProcessingFault, UCO::SystemFault);
588 LibraryDescriptionList get_other_libraries (in AccessCriteria access_criteria)
589 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
594 //***************************************************************
595 //* Interface GIAS::LibraryManager
597 //* Description: This (abstract) object defines the basic
598 //* functions common to all types of managers.
601 //***************************************************************
603 interface LibraryManager
605 UCO::NameList get_property_names ()
606 raises (UCO::ProcessingFault, UCO::SystemFault);
608 PropertyList get_property_values (in UCO::NameList
609 desired_properties)
610 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
612 LibraryList get_libraries ()
613 raises (UCO::ProcessingFault, UCO::SystemFault);
616 //***************************************************************
617 //* Interface GIAS::RequestManager
619 //* Description: This (abstact) object defines the basic
620 //* functions common to managers that use operations that
621 //* generate request objects.
624 //***************************************************************
626 interface RequestManager
629 RequestList get_active_requests ()
630 raises (UCO::ProcessingFault, UCO::SystemFault);
632 unsigned long get_default_timeout ()
633 raises (UCO::ProcessingFault, UCO::SystemFault);
635 void set_default_timeout (in unsigned long new_default)
636 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
638 unsigned long get_timeout (in Request aRequest)
639 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
641 void set_timeout (in Request aRequest, in unsigned long
642 new_lifetime)
643 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
645 void delete_request (in Request aRequest)
646 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
649 //***************************************************************
650 //* interface GIAS:: AccessManager
652 //* Description: Provides functions to check and request the
653 //* availability of Library products for specific purposes
655 //***************************************************************
657 interface AccessManager:RequestManager
660 UseModeList get_use_modes ()
661 raises (UCO::ProcessingFault, UCO::SystemFault);
662 boolean is_available (in UID::Product product, in UseMode use_mode)
663 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
665 // Returns the time (in seconds) estimated to put the requested product // into the requested UseMode. DOES NOT request a change in the
666 // availability of product.
668 unsigned long query_availability_delay (in UID::Product product,
669 in AvailabilityRequirement availability_requirement,
670 in UseMode use_mode)
671 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
673 short get_number_of_priorities()
674 raises (UCO::ProcessingFault, UCO::SystemFault);
676 SetAvailabilityRequest set_availability (in UID::ProductList products, in AvailabilityRequirement availability_requirement, in UseMode use_mode, in short priority)
677 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
681 //***************************************************************
682 //* The Managers
684 //***************************************************************
686 //***************************************************************
687 //* interface GIAS::QueryOrderMgr
688 //* Derived from GIAS::LibraryManager and
689 //* GIAS::RequestManager
691 //* Description: Provides operations to submit a
692 //* query based order.
695 //***************************************************************
698 interface QueryOrderMgr:LibraryManager, RequestManager
701 EventList get_event_descriptions()
702 raises (UCO::ProcessingFault, UCO::SystemFault);
704 SubmitQueryOrderRequest submit_query_order (
706 in Query aQuery,
707 in QueryLifeSpan lifespan,
708 in OrderType o_type,
709 in QueryOrderContents order,
710 in PropertyList properties)
711 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
716 //***************************************************************
717 //* interface GIAS:: VideoMgr
718 //* Derived from GIAS::LibraryManager and GIAS::AccessManager
720 //* Description: Provides operations to retrieve video data
722 //* NOTE: This interface is TBR.
723 //***************************************************************
725 //interface VideoMgr : LibraryManager, AccessManager {
726 //};
728 //***************************************************************
730 //***************************************************************
731 //* interface GIAS:: OrderMgr
732 //* Derived from GIAS:: LibraryManager and GIAS::AccessManager
734 //* Description: Provides operations to submit orders for Products
735 //* contained in the Library:
739 //***************************************************************
741 interface OrderMgr:LibraryManager, AccessManager
745 UCO::NameList get_package_specifications()
746 raises (UCO::ProcessingFault, UCO::SystemFault);
748 ValidationResults validate_order (in OrderContents order, in PropertyList properties)
749 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
751 OrderRequest order (in OrderContents order, in PropertyList properties)
752 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
756 //***************************************************************
757 //* interface GIAS:: DataModelMgr
758 //* Derived from GIAS:: LibraryManager
760 //* Description: Provides operations to discover the elements of the
761 //* data model in use by the library
765 //***************************************************************
767 interface DataModelMgr:LibraryManager
769 UCO::AbsTime get_data_model_date (in PropertyList properties)
770 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
772 UCO::NameList get_alias_categories(in PropertyList properties)
773 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
775 UCO::NameNameList get_logical_aliases(in string category, in PropertyList properties)
776 raises( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
778 string get_logical_attribute_name (in ViewName view_name,in ConceptualAttributeType attribute_type, in PropertyList properties)
779 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
781 ViewList get_view_names (in PropertyList properties)
782 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
784 AttributeInformationList get_attributes (in ViewName view_name,in PropertyList properties)
785 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
787 AttributeInformationList get_queryable_attributes (in ViewName view_name,in PropertyList properties)
788 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
790 UCO::EntityGraph get_entities (in ViewName view_name,in PropertyList properties)
791 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
793 AttributeInformationList get_entity_attributes (in Entity aEntity,in PropertyList properties)
794 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
796 AssociationList get_associations(in PropertyList properties)
797 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
799 unsigned short get_max_vertices(in PropertyList properties)
800 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
803 //***************************************************************
804 //* interface GIAS:: CreationMgr
805 //* Derived from GIAS::RequestManager and
806 //* GIAS::LibraryManager
807 //* Description: Provides operations to request/nominate the
808 //* archiving and cataloging of a new product to a Library.
811 //***************************************************************
813 interface CreationMgr:LibraryManager, RequestManager
815 CreateRequest create (in UCO::FileLocationList new_product,in RelatedFileList related_files, in UCO::DAG creation_metadata,in PropertyList properties)
816 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
818 CreateMetaDataRequest create_metadata (in UCO::DAG creation_metadata, in ViewName view_name, in RelatedFileList related_files, in PropertyList properties)
819 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
821 CreateAssociationRequest create_association( in string assoc_name,
822 in UID::Product view_a_object,
823 in UID::ProductList view_b_objects,
824 in UCO::NameValueList assoc_info)
825 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
831 //***************************************************************
832 //* interface GIAS:: UpdateMgr
833 //* Derived from GIAS:: LibraryManager, and GIAS::RequestManager
834 //* Description: Provides operations to modify, extend or delete
835 //* existing catalog entries in a GIAS Library.
838 //***************************************************************
840 interface UpdateMgr: LibraryManager, RequestManager
842 void set_lock(in UID::Product lockedProduct)
843 raises( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
844 UpdateRequest update (in ViewName view, in UCO::UpdateDAGList changes, in RelatedFileList relfiles, in PropertyList properties)
845 raises( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
846 UpdateByQueryRequest update_by_query(in UCO::NameValue updated_attribute,
847 in Query bqs_query,
849 in PropertyList properties)
850 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
851 void release_lock(in UID::Product lockedProduct)
852 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
854 void delete_product(in UID::Product prod)
855 raises(UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault
860 //***************************************************************
861 //* interface GIAS:: CatalogMgr
862 //* Derived from GIAS::LibraryManager and
863 //* GIAS::RequestManager
865 //* Description: Provides operations to submit a query for
866 //* processing.
869 //***************************************************************
871 interface CatalogMgr:LibraryManager, RequestManager
874 SubmitQueryRequest submit_query (
875 in Query aQuery,
876 in UCO::NameList result_attributes,
877 in SortAttributeList sort_attributes,
878 in PropertyList properties)
879 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
884 HitCountRequest hit_count (in Query
885 aQuery, in PropertyList properties)
886 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
892 //***************************************************************
893 //* interface GIAS::StandingQueryMgr
894 //* Derived from GIAS::LibraryManager and
895 //* GIAS::RequestManager
897 //* Description: Provides operations to submit a
898 //* standing query.
901 //***************************************************************
903 interface StandingQueryMgr:LibraryManager, RequestManager
906 EventList get_event_descriptions()
907 raises (UCO::ProcessingFault, UCO::SystemFault);
909 SubmitStandingQueryRequest submit_standing_query (
910 in Query aQuery,
911 in UCO::NameList result_attributes,
912 in SortAttributeList sort_attributes,
913 in QueryLifeSpan lifespan,
914 in PropertyList properties)
915 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
920 //***************************************************************
921 //* interface GIAS:: ProductMgr
922 //* Derived from GIAS::LibraryManager and GIAS::AccessManager
924 //* Description: Provides operations to retrieve data about a
925 //* specific data set.
928 //***************************************************************
930 interface ProductMgr:LibraryManager, AccessManager
933 GetParametersRequest get_parameters (in UID::Product product, in UCO::NameList desired_parameters, in PropertyList properties)
934 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
936 RelatedFileTypeList get_related_file_types( in UID::Product prod)
937 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
939 GetRelatedFilesRequest get_related_files ( in UID::ProductList
940 products, in UCO::FileLocation location, in RelatedFileType
941 type, in PropertyList properties )
942 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault,
943 UCO::SystemFault );
947 //***************************************************************
948 //* interface GIAS:: IngestMgr
949 //* Derived from GIAS::LibraryManager and
950 //* GIAS::RequestManager
952 //* Description: Provides operations to perform bulk transfers
953 //* of data between Libraries.
956 //***************************************************************
958 interface IngestMgr:LibraryManager, RequestManager
961 // FileLocation contains a directory
962 IngestRequest bulk_pull (in UCO::FileLocation location, in PropertyList property_list)
963 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
965 // FileLocation contains a directory
966 IngestRequest bulk_push (in Query aQuery, in UCO::FileLocation location, in PropertyList property_list)
967 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
971 //***************************************************************
972 //* interface GIAS:: Request
974 //* Description: An (abstract) object that provides operations
975 //* common to all forms of requests.
978 //***************************************************************
981 interface Request
984 UCO::RequestDescription get_request_description ()
985 raises (UCO::ProcessingFault, UCO::SystemFault);
986 void set_user_info (in string message)
987 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
989 UCO::Status get_status ()
990 raises (UCO::ProcessingFault, UCO::SystemFault);
991 DelayEstimate get_remaining_delay ()
992 raises (UCO::ProcessingFault, UCO::SystemFault);
993 void cancel ()
994 raises (UCO::ProcessingFault, UCO::SystemFault);
995 CallbackID register_callback (in CB::Callback acallback)
996 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
997 void free_callback (in CallbackID id)
998 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
1000 RequestManager get_request_manager ()
1001 raises (UCO::ProcessingFault, UCO::SystemFault);
1004 //***************************************************************
1005 //* interface GIAS:: OrderRequest
1006 //* Derived from GIAS::Request
1007 //* Description: Returned by calls to order.
1010 //***************************************************************
1012 interface OrderRequest:Request
1014 UCO::State complete (out DeliveryManifest prods)
1015 raises (UCO::ProcessingFault, UCO::SystemFault);
1018 //***************************************************************
1019 //* interface GIAS:: SubmitQueryOrderRequest
1020 //* Derived from GIAS::Request
1021 //* Description: Returned by calls to submit_query_order.
1024 //***************************************************************
1026 interface SubmitQueryOrderRequest:Request
1029 void pause()
1030 raises (UCO::ProcessingFault, UCO::SystemFault);
1032 void resume()
1033 raises (UCO::ProcessingFault, UCO::SystemFault);
1035 UCO::State complete_list (out DeliveryManifestList prods)
1036 raises (UCO::ProcessingFault, UCO::SystemFault);
1038 UCO::State complete (out DeliveryManifest prods)
1039 raises (UCO::ProcessingFault, UCO::SystemFault);
1042 //***************************************************************
1043 //***************************************************************
1044 //* interface GIAS:: CreateRequest
1045 //* Derived from GIAS::Request
1047 //* Description: Returned by calls to create
1050 //***************************************************************
1052 interface CreateRequest:Request
1054 UCO::State complete (out UID::ProductList new_products)
1055 raises (UCO::ProcessingFault, UCO::SystemFault);
1058 //***************************************************************
1059 //* interface GIAS:: CreateMetaDataRequest
1060 //* Derived from GIAS::Request
1062 //* Description: Returned by calls to create_metadata
1065 //***************************************************************
1067 interface CreateMetaDataRequest:Request
1069 UCO::State complete (out UID::Product new_product)
1070 raises (UCO::ProcessingFault, UCO::SystemFault);
1074 //***************************************************************
1075 //* interface GIAS:: UpdateRequest
1076 //* Derived from GIAS::Request
1078 //* Description: Returned by calls to update
1081 //***************************************************************
1083 interface UpdateRequest:Request
1086 UCO::State complete ()
1087 raises (UCO::ProcessingFault, UCO::SystemFault);
1092 //***************************************************************
1093 //* interface GIAS:: SubmitQueryRequest
1094 //* Derived from GIAS::Request
1096 //* Description: Returned by calls to query
1099 //***************************************************************
1101 interface SubmitQueryRequest:Request
1103 void set_number_of_hits (in unsigned long hits)
1104 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
1105 UCO::State complete_DAG_results (out QueryResults results)
1106 raises (UCO::ProcessingFault, UCO::SystemFault);
1107 UCO::State complete_stringDAG_results (out UCO::StringDAGList results)
1108 raises (UCO::ProcessingFault, UCO::SystemFault);
1109 UCO::State complete_XML_results (out UCO::XMLDocument results)
1110 raises (UCO::ProcessingFault, UCO::SystemFault);
1114 //***************************************************************
1115 //* interface GIAS:: SubmitStandingQueryRequest
1116 //* Derived from GIAS::Request
1118 //* Description: Returned by calls to submit_standing_query
1121 //***************************************************************
1123 interface SubmitStandingQueryRequest:Request
1125 void set_number_of_hits (in unsigned long hits)
1126 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
1128 unsigned long get_number_of_hits()
1129 raises (UCO::ProcessingFault, UCO::SystemFault);
1131 unsigned long get_number_of_hits_in_interval(in unsigned long interval)
1132 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
1134 unsigned long get_number_of_intervals()
1135 raises (UCO::ProcessingFault, UCO::SystemFault);
1136 void clear_all()
1137 raises (UCO::ProcessingFault, UCO::SystemFault);
1139 void clear_intervals(in unsigned long num_intervals)
1140 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
1142 void clear_before(in UCO::Time relative_time)
1143 raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
1145 void pause()
1146 raises (UCO::ProcessingFault, UCO::SystemFault);
1147 void resume()
1148 raises (UCO::ProcessingFault, UCO::SystemFault);
1149 UCO::AbsTime get_time_last_executed()
1150 raises (UCO::ProcessingFault, UCO::SystemFault);
1151 UCO::AbsTime get_time_next_execution()
1152 raises (UCO::ProcessingFault, UCO::SystemFault);
1153 UCO::State complete_DAG_results (out QueryResults results)
1154 raises (UCO::ProcessingFault, UCO::SystemFault);
1155 UCO::State complete_stringDAG_results (out UCO::StringDAGList results)
1156 raises (UCO::ProcessingFault, UCO::SystemFault);
1157 UCO::State complete_XML_results (out UCO::XMLDocument results)
1158 raises (UCO::ProcessingFault, UCO::SystemFault);
1161 //***************************************************************
1162 //* interface GIAS:: SetAvailabilityRequest
1163 //* Derived from GIAS::Request
1165 //* Description: Returned by calls to makeAvailable
1167 //* `
1168 //***************************************************************
1170 interface SetAvailabilityRequest:Request
1172 UCO::State complete ()
1173 raises (UCO::ProcessingFault, UCO::SystemFault);
1176 //***************************************************************
1177 //* interface GIAS:: HitCountRequest
1178 //* Derived from GIAS::Request
1180 //* Description: Returned by calls to Hitcount
1183 //***************************************************************
1185 interface HitCountRequest:Request
1187 UCO::State complete (out unsigned long number_of_hits)
1188 raises (UCO::ProcessingFault, UCO::SystemFault);
1191 //***************************************************************
1192 //* interface GIAS:: GetParametersRequest
1193 //* Derived from GIAS::Request
1195 //* Description: Returned by calls to get_parameters
1198 //***************************************************************
1200 interface GetParametersRequest:Request
1202 UCO::State complete (out UCO::DAG parameters)
1203 raises (UCO::ProcessingFault, UCO::SystemFault);
1204 UCO::State complete_StringDAG (out UCO::StringDAG parameters)
1205 raises (UCO::ProcessingFault, UCO::SystemFault);
1211 //***************************************************************
1212 //* interface GIAS:: IngestRequest
1213 //* Derived from GIAS::Request
1215 //* Description: Returned by calls to bulk_push and bulk_pull
1218 //***************************************************************
1220 interface IngestRequest:Request
1222 UCO::State complete ()
1223 raises (UCO::ProcessingFault, UCO::SystemFault);
1227 //***************************************************************
1228 //* interface GIAS:: GetRelatedFilesRequest
1229 //* Derived from GIAS::Request
1231 //* Description: Returned by calls to get_related_files
1234 //***************************************************************
1236 interface GetRelatedFilesRequest:Request
1238 UCO::State complete (out UCO::NameList locations)
1239 raises (UCO::ProcessingFault, UCO::SystemFault);
1242 //***************************************************************
1243 //* interface GIAS:: CreateAssociationRequest
1244 //* Derived from GIAS::Request
1246 //* Description: Returned by calls to create_association
1249 //***************************************************************
1251 interface CreateAssociationRequest:Request
1253 UCO::State complete ()
1254 raises (UCO::ProcessingFault, UCO::SystemFault);
1257 //*******************************************************************
1258 //* interface GIAS::UpdateByQueryRequest
1259 //* Derived from GIAS::Request
1260 //* Description: Returned by calls to update_by_query
1262 //*******************************************************************
1263 interface UpdateByQueryRequest:Request
1265 UCO::State complete ()
1266 raises (UCO::ProcessingFault, UCO::SystemFault);
1271 #endif