1272 lines
38 KiB
Plaintext
1272 lines
38 KiB
Plaintext
#ifndef GIAS_IDL
|
|
#define GIAS_IDL
|
|
|
|
//***************************************************************
|
|
//* APPROVED via RFC N01-0268 on 6 August 2001
|
|
//***************************************************************
|
|
|
|
|
|
//***************************************************************
|
|
//*
|
|
//* The Geospatial and Imagery Access Service
|
|
//*
|
|
//*
|
|
//* Description: Defines the data types and interfaces needed
|
|
//* to support search, retrieval and access to geospatial
|
|
//* data such as images, maps charts and their supporting
|
|
//* data
|
|
//*
|
|
//*
|
|
//*
|
|
//* History:
|
|
//* Date Author Comment
|
|
//* ----- -------- ------------
|
|
//* 15 May 97 D. Lutz Initial release for review
|
|
//* 2 July 97 D. Lutz Released for TEM Review
|
|
//* 11 July 97 D. Lutz Changes based on 2 July TEM
|
|
//* 18 July 97 D. Lutz Released for NIMA CCB
|
|
//* 24 Oct 97 D. Lutz Changes based on 7 Oct TEM
|
|
//* 14 Nov 97 D. Lutz Changes based on 4 Nov TEM
|
|
//* 17 Dec 97 D. Lutz Changes based on 9 Dec TEM
|
|
//* 15 Apr 98 J. Baldo changes based on Mar TEM
|
|
//* 7 May 98 D.Lutz Changes based on 1 May TEM
|
|
//* 2 Jul 98 J. Baldo/D. Lutz Changes based
|
|
//* on 22-23 Jun TEM Requests - GIAS 3.2
|
|
//* 2 Jul 98 (J. Baldo): Callback module has been removed
|
|
//* from previous GIAS 3.2 specification release
|
|
//* 5 June 1998 and will be included in GIAS 3.3
|
|
//* 5 Nov 98 D. Lutz Added first version of UpdateMgr
|
|
//*
|
|
//* 10 Mar 99 J. Baldo Changes based on March 99 TEM
|
|
//*
|
|
//* 5 August D. Lutz Mods from 3-4 August UIP WG.
|
|
//* 18 Februray 2000 D. Lutz New Generic Exception Model
|
|
//*
|
|
//*
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
//***************************************************************
|
|
//* The USIGS Common Object Specification (UCOS) contains
|
|
//* all the basic data types and interfaces common across
|
|
//* USIGS
|
|
//***************************************************************
|
|
|
|
#include "uco.idl"
|
|
#include "cb.idl"
|
|
#include "uid.idl"
|
|
|
|
//***************************************************************
|
|
//*
|
|
//* Module GIAS
|
|
//*
|
|
//*
|
|
//* Description: The main module for the Geospatial & Imagery
|
|
//* Access Service
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
module GIAS
|
|
{
|
|
|
|
//Forward references for all interfaces, just for convenience
|
|
|
|
// The Library itself
|
|
interface Library;
|
|
|
|
|
|
// Abstract classes that help define the managers
|
|
interface LibraryManager;
|
|
interface RequestManager;
|
|
interface AccessManager;
|
|
|
|
// Specific managers defined
|
|
interface OrderMgr;
|
|
interface CreationMgr;
|
|
interface UpdateMgr;
|
|
interface CatalogMgr;
|
|
interface StandingQueryMgr;
|
|
interface ProductMgr;
|
|
interface IngestMgr;
|
|
interface QueryOrderMgr;
|
|
interface DataModelMgr;
|
|
//interface VideoMgr;
|
|
|
|
// The abstract request objects
|
|
interface Request;
|
|
|
|
// Specific requests defined
|
|
interface OrderRequest;
|
|
interface CreateRequest;
|
|
interface CreateMetaDataRequest;
|
|
interface UpdateRequest;
|
|
interface SubmitQueryRequest;
|
|
interface SubmitStandingQueryRequest;
|
|
interface SetAvailabilityRequest;
|
|
interface HitCountRequest;
|
|
interface GetParametersRequest;
|
|
interface IngestRequest;
|
|
interface SubmitQueryOrderRequest;
|
|
interface GetRelatedFilesRequest;
|
|
interface CreateAssociationRequest;
|
|
interface UpdateByQueryRequest;
|
|
|
|
|
|
//***************************************************************
|
|
//* DataTypes re-used from UCOS
|
|
//***************************************************************
|
|
|
|
typedef UCO::NameValueList PropertyList;
|
|
|
|
typedef UCO::Rectangle GeoRegion;
|
|
enum GeoRegionType {
|
|
LINE_SAMPLE_FULL,
|
|
LINE_SAMPLE_CHIP,
|
|
LAT_LON ,
|
|
ALL,
|
|
NULL_REGION};
|
|
|
|
|
|
|
|
//***************************************************************
|
|
//* GIAS specific data types
|
|
//***************************************************************
|
|
|
|
|
|
enum AvailabilityRequirement
|
|
{
|
|
REQUIRED, NOT_REQUIRED
|
|
};
|
|
|
|
typedef string UseMode;
|
|
|
|
typedef sequence <short> RsetList;
|
|
|
|
enum OrderType {STANDING, IMMEDIATE};
|
|
|
|
typedef any ProductSpec;
|
|
|
|
typedef string ProductFormat;
|
|
typedef string ImageUniqueIdentifier;
|
|
typedef string ImageFormat;
|
|
typedef string Compression;
|
|
typedef short BitsPerPixel;
|
|
typedef string Algorithm;
|
|
enum SupportDataEncoding {ASCII, EBCDIC};
|
|
|
|
typedef sequence < ProductFormat > ProductFormatList;
|
|
struct ImageSpec
|
|
{
|
|
ImageFormat imgform;
|
|
ImageUniqueIdentifier imageid;
|
|
Compression comp;
|
|
BitsPerPixel bpp;
|
|
Algorithm algo;
|
|
RsetList rrds;
|
|
GeoRegion sub_section;
|
|
GeoRegionType geo_region_type;
|
|
SupportDataEncoding encoding;
|
|
};
|
|
typedef sequence < ImageSpec > ImageSpecList;
|
|
|
|
struct AlterationSpec
|
|
{
|
|
ProductFormat pf;
|
|
ProductSpec ps;
|
|
GeoRegion sub_section;
|
|
GeoRegionType geo_region_type;
|
|
};
|
|
typedef sequence < AlterationSpec > AlterationSpecList;
|
|
|
|
struct PackagingSpec
|
|
{
|
|
string package_identifier;
|
|
string packaging_format_and_compression;
|
|
};
|
|
|
|
|
|
struct TailoringSpec {
|
|
UCO::NameNameList specs;
|
|
};
|
|
|
|
struct MediaType
|
|
{
|
|
string media_type;
|
|
unsigned short quantity;
|
|
};
|
|
|
|
typedef sequence < MediaType > MediaTypeList;
|
|
|
|
struct PhysicalDelivery
|
|
{
|
|
string address;
|
|
};
|
|
|
|
enum DestinationType
|
|
{
|
|
FTP, EMAIL, PHYSICAL
|
|
};
|
|
|
|
union Destination switch (DestinationType)
|
|
{
|
|
case FTP: UCO::FileLocation f_dest;
|
|
case EMAIL: UCO::EmailAddress e_dest;
|
|
case PHYSICAL: PhysicalDelivery h_dest;
|
|
};
|
|
|
|
typedef sequence < Destination > DestinationList;
|
|
|
|
|
|
|
|
struct ValidationResults
|
|
{
|
|
boolean valid;
|
|
boolean warning;
|
|
string details;
|
|
};
|
|
|
|
typedef sequence < ValidationResults > ValidationResultsList;
|
|
|
|
typedef UCO::Name RelatedFileType;
|
|
typedef sequence<RelatedFileType> RelatedFileTypeList;
|
|
struct RelatedFile
|
|
{
|
|
RelatedFileType file_type;
|
|
UCO::FileLocation location;
|
|
};
|
|
typedef sequence <RelatedFile> RelatedFileList;
|
|
|
|
enum ConceptualAttributeType
|
|
{
|
|
FOOTPRINT, CLASSIFICATION, OVERVIEW, THUMBNAIL, DATASETTYPE,
|
|
MODIFICATIONDATE, PRODUCTTITLE, DIRECTACCESS, DIRECTACCESSPROTOCOL, UNIQUEIDENTIFIER, DATASIZE};
|
|
|
|
|
|
typedef string Entity;
|
|
typedef string ViewName;
|
|
typedef sequence< ViewName > ViewNameList;
|
|
struct View {
|
|
ViewName view_name;
|
|
boolean orderable;
|
|
ViewNameList sub_views;
|
|
};
|
|
|
|
typedef sequence < View > ViewList;
|
|
|
|
|
|
enum DomainType
|
|
{
|
|
DATE_VALUE, TEXT_VALUE, INTEGER_VALUE, FLOATING_POINT_VALUE, LIST,
|
|
ORDERED_LIST, INTEGER_RANGE, FLOATING_POINT_RANGE, GEOGRAPHIC, INTEGER_SET, FLOATING_POINT_SET, GEOGRAPHIC_SET, BINARY_DATA, BOOLEAN_VALUE };
|
|
|
|
struct DateRange
|
|
{
|
|
UCO::AbsTime earliest;
|
|
UCO::AbsTime latest;
|
|
};
|
|
|
|
struct IntegerRange
|
|
{
|
|
long lower_bound;
|
|
long upper_bound;
|
|
};
|
|
|
|
struct FloatingPointRange
|
|
{
|
|
double lower_bound;
|
|
double upper_bound;
|
|
};
|
|
|
|
|
|
|
|
typedef sequence < IntegerRange > IntegerRangeList;
|
|
|
|
typedef sequence < FloatingPointRange > FloatingPointRangeList;
|
|
union Domain switch (DomainType)
|
|
{
|
|
|
|
case DATE_VALUE: DateRange d;
|
|
case TEXT_VALUE: unsigned long t;
|
|
case INTEGER_VALUE: IntegerRange iv;
|
|
case INTEGER_SET: IntegerRangeList is;
|
|
case FLOATING_POINT_VALUE: FloatingPointRange fv;
|
|
case FLOATING_POINT_SET: FloatingPointRangeList fps;
|
|
case LIST: UCO::NameList l;
|
|
case ORDERED_LIST: UCO::NameList ol;
|
|
case INTEGER_RANGE: IntegerRange ir;
|
|
case FLOATING_POINT_RANGE: FloatingPointRange fr;
|
|
case GEOGRAPHIC: UCO::Rectangle g;
|
|
case GEOGRAPHIC_SET: UCO::RectangleList gs;
|
|
case BINARY_DATA: UCO::BinData bd;
|
|
case BOOLEAN_VALUE: boolean bv;
|
|
};
|
|
|
|
enum AttributeType
|
|
{
|
|
TEXT,
|
|
INTEGER,
|
|
FLOATING_POINT,
|
|
UCOS_COORDINATE,
|
|
UCOS_POLYGON,
|
|
UCOS_ABS_TIME,
|
|
UCOS_RECTANGLE,
|
|
UCOS_SIMPLE_GS_IMAGE,
|
|
UCOS_SIMPLE_C_IMAGE,
|
|
UCOS_COMPRESSED_IMAGE,
|
|
UCOS_HEIGHT,
|
|
UCOS_ELEVATION,
|
|
UCOS_DISTANCE,
|
|
UCOS_PERCENTAGE,
|
|
UCOS_RATIO,
|
|
UCOS_ANGLE,
|
|
UCOS_FILE_SIZE,
|
|
UCOS_FILE_LOCATION,
|
|
UCOS_COUNT,
|
|
UCOS_WEIGHT,
|
|
UCOS_DATE,
|
|
UCOS_LINESTRING,
|
|
UCOS_DATA_RATE,
|
|
UCOS_BIN_DATA,
|
|
BOOLEAN_DATA,
|
|
UCOS_DURATION
|
|
};
|
|
|
|
|
|
enum RequirementMode
|
|
{
|
|
MANDATORY, OPTIONAL
|
|
};
|
|
|
|
struct AttributeInformation
|
|
{
|
|
string attribute_name;
|
|
AttributeType attribute_type;
|
|
Domain attribute_domain;
|
|
string attribute_units;
|
|
string attribute_reference;
|
|
RequirementMode mode;
|
|
string description;
|
|
boolean sortable;
|
|
boolean updateable;
|
|
};
|
|
typedef sequence < AttributeInformation > AttributeInformationList;
|
|
struct Association {
|
|
string name;
|
|
ViewName view_a;
|
|
ViewName view_b;
|
|
string description;
|
|
UCO::Cardinality card;
|
|
AttributeInformationList attribute_info;
|
|
};
|
|
|
|
typedef sequence <Association> AssociationList;
|
|
typedef sequence < Library > LibraryList;
|
|
|
|
typedef string ManagerType;
|
|
typedef sequence < ManagerType > ManagerTypeList;
|
|
|
|
typedef sequence < Request > RequestList;
|
|
|
|
typedef sequence < UseMode > UseModeList;
|
|
|
|
|
|
struct LibraryDescription
|
|
{
|
|
string library_name;
|
|
string library_description;
|
|
string library_version_number;
|
|
};
|
|
typedef sequence < LibraryDescription > LibraryDescriptionList;
|
|
|
|
struct Query{
|
|
ViewName view;
|
|
string bqs_query;
|
|
};
|
|
|
|
|
|
typedef UCO::DAGList QueryResults;
|
|
|
|
|
|
|
|
enum NamedEventType
|
|
{
|
|
START_EVENT,
|
|
STOP_EVENT,
|
|
FREQUENCY_EVENT
|
|
};
|
|
|
|
struct Event {
|
|
string event_name;
|
|
NamedEventType event_type;
|
|
string event_description;
|
|
};
|
|
typedef sequence < Event > EventList;
|
|
|
|
enum DayEvent { MON, TUE, WED, THU, FRI, SAT, SUN, FIRST_OF_MONTH, END_OF_MONTH };
|
|
|
|
struct DayEventTime
|
|
{
|
|
DayEvent day_event;
|
|
UCO::Time time;
|
|
};
|
|
|
|
enum LifeEventType {ABSOLUTE_TIME, DAY_EVENT_TIME, NAMED_EVENT, RELATIVE_TIME};
|
|
|
|
union LifeEvent switch ( LifeEventType)
|
|
{
|
|
case ABSOLUTE_TIME: UCO::AbsTime at;
|
|
case DAY_EVENT_TIME: DayEventTime day_event;
|
|
case NAMED_EVENT: string ev;
|
|
case RELATIVE_TIME: UCO::Time rt;
|
|
};
|
|
|
|
typedef sequence < LifeEvent > LifeEventList;
|
|
|
|
|
|
struct QueryLifeSpan {
|
|
LifeEvent start;
|
|
LifeEvent stop;
|
|
LifeEventList frequency;
|
|
};
|
|
|
|
|
|
|
|
enum Polarity { ASCENDING, DESCENDING };
|
|
|
|
struct SortAttribute
|
|
{
|
|
UCO::Name attribute_name;
|
|
Polarity sort_polarity;
|
|
};
|
|
|
|
typedef sequence < SortAttribute > SortAttributeList;
|
|
|
|
struct DelayEstimate {
|
|
unsigned long time_delay;
|
|
boolean valid_time_delay;
|
|
};
|
|
struct ProductDetails {
|
|
MediaTypeList mTypes;
|
|
UCO::NameList benums;
|
|
AlterationSpec aSpec;
|
|
UID::Product aProduct;
|
|
string info_system_name;
|
|
};
|
|
typedef sequence <ProductDetails> ProductDetailsList;
|
|
|
|
struct DeliveryDetails {
|
|
Destination dests;
|
|
string receiver;
|
|
string shipmentMode;
|
|
};
|
|
typedef sequence < DeliveryDetails > DeliveryDetailsList;
|
|
|
|
struct OrderContents {
|
|
string originator;
|
|
TailoringSpec tSpec;
|
|
PackagingSpec pSpec;
|
|
UCO::AbsTime needByDate;
|
|
string operatorNote;
|
|
short orderPriority;
|
|
ProductDetailsList prod_list;
|
|
DeliveryDetailsList del_list;
|
|
};
|
|
|
|
struct QueryOrderContents {
|
|
string originator;
|
|
TailoringSpec tSpec;
|
|
PackagingSpec pSpec;
|
|
string operatorNote;
|
|
short orderPriority;
|
|
AlterationSpec aSpec;
|
|
DeliveryDetailsList del_list;
|
|
};
|
|
|
|
struct AccessCriteria {
|
|
string userID;
|
|
string password;
|
|
string licenseKey;
|
|
};
|
|
struct PackageElement {
|
|
UID::Product prod;
|
|
UCO::NameList files;
|
|
};
|
|
typedef sequence< PackageElement > PackageElementList;
|
|
|
|
struct DeliveryManifest {
|
|
string package_name;
|
|
PackageElementList elements;
|
|
};
|
|
typedef sequence<DeliveryManifest> DeliveryManifestList;
|
|
|
|
typedef string CallbackID;
|
|
|
|
//***************************************************************
|
|
//* The Exceptions Identifiers
|
|
//* Note: Three sets of IDL Strings Constants are being used as
|
|
//* the Exceptions for the GIAS
|
|
//***************************************************************
|
|
// UCO::InvalidInputParameter Exceptions
|
|
const string BadAccessCriteriaConst = "BadAccessCriteria";
|
|
const string BadAccessValueConst = "BadAccessValue";
|
|
const string BadCreationAttributeValueConst = "BadCreationAttributeValue";
|
|
const string BadEmailAddressConst = "BadEmailAddress";
|
|
const string BadGeoRegionConst = "BadGeoRegion";
|
|
const string BadLocationConst = "BadLocation";
|
|
const string BadPropertyValueConst = "BadPropertyValue";
|
|
const string BadQueryConst = "BadQuery";
|
|
const string BadQueryAttributeConst = "BadQueryAttribute";
|
|
const string BadQueryValueConst = "BadQueryValue";
|
|
const string BadTimeConst = "BadTime";
|
|
const string BadUseModeConst = "BadUseMode";
|
|
const string UnknownCallBackConst = "UnknownCallBack";
|
|
const string UnknownCreationAttributeConst = "UnknownCreationAttribute";
|
|
const string UnknownManagerTypeConst = "UnknownManagerType";
|
|
const string UnknownProductConst = "UnknownProduct";
|
|
const string UnknownPropertyConst = "UnknownProperty";
|
|
const string UnknownRequestConst = "UnknownRequest";
|
|
const string UnregisteredCallbackConst = "UnregisteredCallback";
|
|
const string UnknownUseModeConst = "UnknownUseMode";
|
|
const string BadOrderConst = "BadOrder";
|
|
const string UnknownViewNameConst = "UnknownViewName";
|
|
const string UnknownEntityConst = "UnknownEntity";
|
|
const string UnsupportedConceptualAttributeConst = "UnsupportedConceptualAttribute";
|
|
const string NoValuesRequestedConst = "NoValuesRequested";
|
|
const string BadSortAttributeConst = "BadSortAttribute";
|
|
const string NonUpdateableAttributeConst = "NonUpdateableAttribute";
|
|
const string BadFileTypeConst = "BadFileType";
|
|
const string InvalidCardinalityConst = "InvalidCardinality";
|
|
const string UnknownAssociationConst = "UnknownAssociation";
|
|
const string InvalidObjectConst = "InvalidObject";
|
|
const string UnknownCategoryConst = "UnknownCategory";
|
|
const string InvalidEventConst = "InvalidEvent";
|
|
const string BadResultAttributeConst = "BadResultAttribute";
|
|
const string BadUpdateAttributeConst = "BadUpdateAttribute";
|
|
const string ImplementationLimitConst = "ImplementationLimit";
|
|
|
|
// UCO::ProcessingFault Exceptions
|
|
const string ProductUnavailableConst = "ProductUnavailable";
|
|
const string LockUnavailableConst = "LockUnavailable";
|
|
const string UnsafeUpdateConst = "UnsafeUpdate";
|
|
const string ProductLockedConst = "ProductLocked";
|
|
|
|
// UCO::SystemFault Exceptions
|
|
const string GeneralSystemFaultConst = "GeneralSystemFault";
|
|
|
|
|
|
|
|
|
|
//***************************************************************
|
|
//* The Interfaces
|
|
//***************************************************************
|
|
|
|
//***************************************************************
|
|
//* interface GIAS::Library.
|
|
//*
|
|
//* Description: This object represents a Library. It
|
|
//* provides operations to discover and acquire manager objects,
|
|
//* which provide access to all the functionality of this
|
|
//* Library.
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface Library
|
|
{
|
|
|
|
ManagerTypeList get_manager_types ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
LibraryManager get_manager (in ManagerType manager_type, in
|
|
AccessCriteria access_criteria)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
LibraryDescription get_library_description ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
LibraryDescriptionList get_other_libraries (in AccessCriteria access_criteria)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
};
|
|
|
|
|
|
//***************************************************************
|
|
//* Interface GIAS::LibraryManager
|
|
//*
|
|
//* Description: This (abstract) object defines the basic
|
|
//* functions common to all types of managers.
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface LibraryManager
|
|
{
|
|
UCO::NameList get_property_names ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
PropertyList get_property_values (in UCO::NameList
|
|
desired_properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
LibraryList get_libraries ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
//***************************************************************
|
|
//* Interface GIAS::RequestManager
|
|
//*
|
|
//* Description: This (abstact) object defines the basic
|
|
//* functions common to managers that use operations that
|
|
//* generate request objects.
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface RequestManager
|
|
{
|
|
|
|
RequestList get_active_requests ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
unsigned long get_default_timeout ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
void set_default_timeout (in unsigned long new_default)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
unsigned long get_timeout (in Request aRequest)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
void set_timeout (in Request aRequest, in unsigned long
|
|
new_lifetime)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
void delete_request (in Request aRequest)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: AccessManager
|
|
//*
|
|
//* Description: Provides functions to check and request the
|
|
//* availability of Library products for specific purposes
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface AccessManager:RequestManager
|
|
{
|
|
|
|
UseModeList get_use_modes ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
boolean is_available (in UID::Product product, in UseMode use_mode)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
// Returns the time (in seconds) estimated to put the requested product // into the requested UseMode. DOES NOT request a change in the
|
|
// availability of product.
|
|
|
|
unsigned long query_availability_delay (in UID::Product product,
|
|
in AvailabilityRequirement availability_requirement,
|
|
in UseMode use_mode)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
short get_number_of_priorities()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
SetAvailabilityRequest set_availability (in UID::ProductList products, in AvailabilityRequirement availability_requirement, in UseMode use_mode, in short priority)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
};
|
|
|
|
//***************************************************************
|
|
//* The Managers
|
|
//*
|
|
//***************************************************************
|
|
|
|
//***************************************************************
|
|
//* interface GIAS::QueryOrderMgr
|
|
//* Derived from GIAS::LibraryManager and
|
|
//* GIAS::RequestManager
|
|
//*
|
|
//* Description: Provides operations to submit a
|
|
//* query based order.
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
|
|
interface QueryOrderMgr:LibraryManager, RequestManager
|
|
{
|
|
|
|
EventList get_event_descriptions()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
SubmitQueryOrderRequest submit_query_order (
|
|
|
|
in Query aQuery,
|
|
in QueryLifeSpan lifespan,
|
|
in OrderType o_type,
|
|
in QueryOrderContents order,
|
|
in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: VideoMgr
|
|
//* Derived from GIAS::LibraryManager and GIAS::AccessManager
|
|
//*
|
|
//* Description: Provides operations to retrieve video data
|
|
//*
|
|
//* NOTE: This interface is TBR.
|
|
//***************************************************************
|
|
|
|
//interface VideoMgr : LibraryManager, AccessManager {
|
|
//};
|
|
|
|
//***************************************************************
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: OrderMgr
|
|
//* Derived from GIAS:: LibraryManager and GIAS::AccessManager
|
|
//*
|
|
//* Description: Provides operations to submit orders for Products
|
|
//* contained in the Library:
|
|
//*
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface OrderMgr:LibraryManager, AccessManager
|
|
{
|
|
|
|
|
|
UCO::NameList get_package_specifications()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
ValidationResults validate_order (in OrderContents order, in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
OrderRequest order (in OrderContents order, in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: DataModelMgr
|
|
//* Derived from GIAS:: LibraryManager
|
|
//*
|
|
//* Description: Provides operations to discover the elements of the
|
|
//* data model in use by the library
|
|
//*
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface DataModelMgr:LibraryManager
|
|
{
|
|
UCO::AbsTime get_data_model_date (in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
UCO::NameList get_alias_categories(in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
UCO::NameNameList get_logical_aliases(in string category, in PropertyList properties)
|
|
raises( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
string get_logical_attribute_name (in ViewName view_name,in ConceptualAttributeType attribute_type, in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
ViewList get_view_names (in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
AttributeInformationList get_attributes (in ViewName view_name,in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
AttributeInformationList get_queryable_attributes (in ViewName view_name,in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
UCO::EntityGraph get_entities (in ViewName view_name,in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
AttributeInformationList get_entity_attributes (in Entity aEntity,in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
AssociationList get_associations(in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
unsigned short get_max_vertices(in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: CreationMgr
|
|
//* Derived from GIAS::RequestManager and
|
|
//* GIAS::LibraryManager
|
|
//* Description: Provides operations to request/nominate the
|
|
//* archiving and cataloging of a new product to a Library.
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface CreationMgr:LibraryManager, RequestManager
|
|
{
|
|
CreateRequest create (in UCO::FileLocationList new_product,in RelatedFileList related_files, in UCO::DAG creation_metadata,in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
CreateMetaDataRequest create_metadata (in UCO::DAG creation_metadata, in ViewName view_name, in RelatedFileList related_files, in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
CreateAssociationRequest create_association( in string assoc_name,
|
|
in UID::Product view_a_object,
|
|
in UID::ProductList view_b_objects,
|
|
in UCO::NameValueList assoc_info)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
|
|
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: UpdateMgr
|
|
//* Derived from GIAS:: LibraryManager, and GIAS::RequestManager
|
|
//* Description: Provides operations to modify, extend or delete
|
|
//* existing catalog entries in a GIAS Library.
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface UpdateMgr: LibraryManager, RequestManager
|
|
{
|
|
void set_lock(in UID::Product lockedProduct)
|
|
raises( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
UpdateRequest update (in ViewName view, in UCO::UpdateDAGList changes, in RelatedFileList relfiles, in PropertyList properties)
|
|
raises( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
UpdateByQueryRequest update_by_query(in UCO::NameValue updated_attribute,
|
|
in Query bqs_query,
|
|
|
|
in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
void release_lock(in UID::Product lockedProduct)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
void delete_product(in UID::Product prod)
|
|
raises(UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault
|
|
);
|
|
};
|
|
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: CatalogMgr
|
|
//* Derived from GIAS::LibraryManager and
|
|
//* GIAS::RequestManager
|
|
//*
|
|
//* Description: Provides operations to submit a query for
|
|
//* processing.
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface CatalogMgr:LibraryManager, RequestManager
|
|
{
|
|
|
|
SubmitQueryRequest submit_query (
|
|
in Query aQuery,
|
|
in UCO::NameList result_attributes,
|
|
in SortAttributeList sort_attributes,
|
|
in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
|
|
|
|
|
|
HitCountRequest hit_count (in Query
|
|
aQuery, in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
|
|
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS::StandingQueryMgr
|
|
//* Derived from GIAS::LibraryManager and
|
|
//* GIAS::RequestManager
|
|
//*
|
|
//* Description: Provides operations to submit a
|
|
//* standing query.
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface StandingQueryMgr:LibraryManager, RequestManager
|
|
{
|
|
|
|
EventList get_event_descriptions()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
SubmitStandingQueryRequest submit_standing_query (
|
|
in Query aQuery,
|
|
in UCO::NameList result_attributes,
|
|
in SortAttributeList sort_attributes,
|
|
in QueryLifeSpan lifespan,
|
|
in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: ProductMgr
|
|
//* Derived from GIAS::LibraryManager and GIAS::AccessManager
|
|
//*
|
|
//* Description: Provides operations to retrieve data about a
|
|
//* specific data set.
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface ProductMgr:LibraryManager, AccessManager
|
|
{
|
|
|
|
GetParametersRequest get_parameters (in UID::Product product, in UCO::NameList desired_parameters, in PropertyList properties)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
RelatedFileTypeList get_related_file_types( in UID::Product prod)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
GetRelatedFilesRequest get_related_files ( in UID::ProductList
|
|
products, in UCO::FileLocation location, in RelatedFileType
|
|
type, in PropertyList properties )
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault,
|
|
UCO::SystemFault );
|
|
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: IngestMgr
|
|
//* Derived from GIAS::LibraryManager and
|
|
//* GIAS::RequestManager
|
|
//*
|
|
//* Description: Provides operations to perform bulk transfers
|
|
//* of data between Libraries.
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface IngestMgr:LibraryManager, RequestManager
|
|
{
|
|
|
|
// FileLocation contains a directory
|
|
IngestRequest bulk_pull (in UCO::FileLocation location, in PropertyList property_list)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
// FileLocation contains a directory
|
|
IngestRequest bulk_push (in Query aQuery, in UCO::FileLocation location, in PropertyList property_list)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: Request
|
|
//*
|
|
//* Description: An (abstract) object that provides operations
|
|
//* common to all forms of requests.
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
|
|
interface Request
|
|
{
|
|
|
|
UCO::RequestDescription get_request_description ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
void set_user_info (in string message)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
UCO::Status get_status ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
DelayEstimate get_remaining_delay ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
void cancel ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
CallbackID register_callback (in CB::Callback acallback)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
void free_callback (in CallbackID id)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
RequestManager get_request_manager ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: OrderRequest
|
|
//* Derived from GIAS::Request
|
|
//* Description: Returned by calls to order.
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface OrderRequest:Request
|
|
{
|
|
UCO::State complete (out DeliveryManifest prods)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: SubmitQueryOrderRequest
|
|
//* Derived from GIAS::Request
|
|
//* Description: Returned by calls to submit_query_order.
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface SubmitQueryOrderRequest:Request
|
|
{
|
|
|
|
void pause()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
void resume()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
UCO::State complete_list (out DeliveryManifestList prods)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
UCO::State complete (out DeliveryManifest prods)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
//***************************************************************
|
|
//***************************************************************
|
|
//* interface GIAS:: CreateRequest
|
|
//* Derived from GIAS::Request
|
|
//*
|
|
//* Description: Returned by calls to create
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface CreateRequest:Request
|
|
{
|
|
UCO::State complete (out UID::ProductList new_products)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: CreateMetaDataRequest
|
|
//* Derived from GIAS::Request
|
|
//*
|
|
//* Description: Returned by calls to create_metadata
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface CreateMetaDataRequest:Request
|
|
{
|
|
UCO::State complete (out UID::Product new_product)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: UpdateRequest
|
|
//* Derived from GIAS::Request
|
|
//*
|
|
//* Description: Returned by calls to update
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface UpdateRequest:Request
|
|
{
|
|
|
|
UCO::State complete ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
};
|
|
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: SubmitQueryRequest
|
|
//* Derived from GIAS::Request
|
|
//*
|
|
//* Description: Returned by calls to query
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface SubmitQueryRequest:Request
|
|
{
|
|
void set_number_of_hits (in unsigned long hits)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
UCO::State complete_DAG_results (out QueryResults results)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
UCO::State complete_stringDAG_results (out UCO::StringDAGList results)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
UCO::State complete_XML_results (out UCO::XMLDocument results)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: SubmitStandingQueryRequest
|
|
//* Derived from GIAS::Request
|
|
//*
|
|
//* Description: Returned by calls to submit_standing_query
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface SubmitStandingQueryRequest:Request
|
|
{
|
|
void set_number_of_hits (in unsigned long hits)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
unsigned long get_number_of_hits()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
unsigned long get_number_of_hits_in_interval(in unsigned long interval)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
unsigned long get_number_of_intervals()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
void clear_all()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
void clear_intervals(in unsigned long num_intervals)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
void clear_before(in UCO::Time relative_time)
|
|
raises ( UCO::InvalidInputParameter, UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
void pause()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
void resume()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
UCO::AbsTime get_time_last_executed()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
UCO::AbsTime get_time_next_execution()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
UCO::State complete_DAG_results (out QueryResults results)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
UCO::State complete_stringDAG_results (out UCO::StringDAGList results)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
UCO::State complete_XML_results (out UCO::XMLDocument results)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: SetAvailabilityRequest
|
|
//* Derived from GIAS::Request
|
|
//*
|
|
//* Description: Returned by calls to makeAvailable
|
|
//*
|
|
//* `
|
|
//***************************************************************
|
|
|
|
interface SetAvailabilityRequest:Request
|
|
{
|
|
UCO::State complete ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: HitCountRequest
|
|
//* Derived from GIAS::Request
|
|
//*
|
|
//* Description: Returned by calls to Hitcount
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface HitCountRequest:Request
|
|
{
|
|
UCO::State complete (out unsigned long number_of_hits)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: GetParametersRequest
|
|
//* Derived from GIAS::Request
|
|
//*
|
|
//* Description: Returned by calls to get_parameters
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface GetParametersRequest:Request
|
|
{
|
|
UCO::State complete (out UCO::DAG parameters)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
UCO::State complete_StringDAG (out UCO::StringDAG parameters)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
|
|
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: IngestRequest
|
|
//* Derived from GIAS::Request
|
|
//*
|
|
//* Description: Returned by calls to bulk_push and bulk_pull
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface IngestRequest:Request
|
|
{
|
|
UCO::State complete ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: GetRelatedFilesRequest
|
|
//* Derived from GIAS::Request
|
|
//*
|
|
//* Description: Returned by calls to get_related_files
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface GetRelatedFilesRequest:Request
|
|
{
|
|
UCO::State complete (out UCO::NameList locations)
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
};
|
|
|
|
//***************************************************************
|
|
//* interface GIAS:: CreateAssociationRequest
|
|
//* Derived from GIAS::Request
|
|
//*
|
|
//* Description: Returned by calls to create_association
|
|
//*
|
|
//*
|
|
//***************************************************************
|
|
|
|
interface CreateAssociationRequest:Request
|
|
{
|
|
UCO::State complete ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
};
|
|
//*******************************************************************
|
|
//* interface GIAS::UpdateByQueryRequest
|
|
//* Derived from GIAS::Request
|
|
//* Description: Returned by calls to update_by_query
|
|
//*
|
|
//*******************************************************************
|
|
interface UpdateByQueryRequest:Request
|
|
{
|
|
UCO::State complete ()
|
|
raises (UCO::ProcessingFault, UCO::SystemFault);
|
|
|
|
};
|
|
|
|
};
|
|
#endif
|