//File: DAISItem.idl #ifndef _DAIS_ITEM_IDL #define _DAIS_ITEM_IDL #pragma prefix "omg.org" #include module DAIS { module DataAccess { module Item { struct Description { ItemID id; string label; SimpleValue value; //includes the canonical_data_type Quality dais_quality; DateTime time_stamp; AccessRights access_rights; unsigned long scan_rate; }; typedef sequence< Description > Descriptions; interface Iterator { boolean next_n ( in unsigned long n, out Descriptions items ); void reset(); Iterator clone(); void destroy(); }; interface Home { exception UnknownResourceID {string reason;}; exception UnknownItemID {string reason;}; exception InvalidFilter {string reason;}; Description find ( in ItemID item ) raises (UnknownItemID); Descriptions find_each( in ItemIDs items ) raises (UnknownItemID); Iterator find_by_parent ( in ResourceID node, in string filter_criteria, in SimpleValueType data_type_filter, in AccessRights access_rights_filter ) raises (UnknownResourceID, InvalidFilter); Iterator find_by_type ( in ResourceID node, in TypeIDs type_filter, in string filter_criteria, in SimpleValueType data_type_filter, in AccessRights access_rights_filter ) raises (UnknownResourceID, InvalidFilter); Strings get_pathnames ( in ItemIDs items ); ItemIDs get_ids ( in Strings pathnames ); Strings get_access_paths ( in ItemID item ) raises (UnknownItemID); };};};}; #endif // _DAIS_ITEM_IDL