📄 cospropertyservice.idl
字号:
// = Support for Getting Properties and their Names.
unsigned long get_number_of_properties ();
// Returns the current number of properties associated with this
// PropertySet.
void get_all_property_names (in unsigned long how_many,
out PropertyNames property_names,
out PropertyNamesIterator rest);
// Returns all of the property names currently defined in the
// PropertySet. If the PropertySet contains more than how_many
// property names, then the remaining property names are put
// into the PropertyNamesIterator.
any get_property_value (in PropertyName property_name)
raises (PropertyNotFound,
InvalidPropertyName);
// Returns the value of a property in the PropertySet.
boolean get_properties (in PropertyNames property_names,
out Properties nproperties);
// Returns the values of the properties listed in
// property_names.
void get_all_properties (in unsigned long how_many,
out Properties nproperties,
out PropertiesIterator rest);
// Returns all of the property names currently defined in the
// PropertySet. If the PropertySet contains more than how_many
// property names, then the remaining property names are put
// into the PropertyNamesIterator.
// = Support for Deleting Properties.
void delete_property (in PropertyName property_name)
raises (PropertyNotFound,
InvalidPropertyName,
FixedProperty);
// Deletes the specified property if it exists from a
// PropertySet.
void delete_properties (in PropertyNames property_names)
raises (MultipleExceptions);
// Deletes the properties defined in the property_names
// parameter. This is a batch operation that returns the
// MultipleExceptions exception if any delete failed.
boolean delete_all_properties ();
// Variation of delete_properties. Applies to all properties.
// = Support for Existence Check.
boolean is_property_defined (in PropertyName property_name)
raises (InvalidPropertyName);
// The is_property_defined operation returns true if the
// property is defined in the PropertySet, and returns false
// otherwise.
};
interface PropertySetDef:PropertySet
{
// = TITLE
// Interface to deal with the Property Modes.
//
// = DESCRIPTION
// The PropertySetDef interface is a specialization
// (subclass) of the PropertySet interface. The
// PropertySetDef interface provides operations to retrieve
// PropertySet constraints, define and modify properties
// with modes, and to get or set property modes.
void get_allowed_property_types (out PropertyTypes property_types);
// Indicates which types of properties are supported by this
// PropertySet. If the output sequence is empty, then there is
// no restrictions on the any TypeCode portion of the
// property_value field of a Property in this PropertySet,
// unless the get_allowed_properties output sequence is not empty.
void get_allowed_properties (out PropertyDefs property_defs);
// Indicates which properties are supported by this
// PropertySet. If the output sequence is empty, then there is
// no restrictions on the properties that can be in this
// PropertySet, unless the get_allowed_property_types output
// sequence is not empty.
void define_property_with_mode (in PropertyName property_name,
in any property_value,
in PropertyModeType property_mode)
raises (InvalidPropertyName,
ConflictingProperty,
UnsupportedTypeCode,
UnsupportedProperty,
UnsupportedMode,
ReadOnlyProperty);
// This operation will modify or add a property to the
// PropertySet. If the property already exists, then the
// property type is checked before the value is overwritten. The
// property mode is also checked to be sure a new value may be
// written. If the property does not exist, then the property is
// added to the PropertySet. To change the any TypeCode portion
// of the property_value of a property, a client must first
// delete_property, then invoke the define_property_with_mode.
void define_properties_with_modes (in PropertyDefs property_defs)
raises (MultipleExceptions);
// This operation will modify or add each of the properties in
// the Properties parameter to the PropertySet. For each
// property in the list, if the property already exists, then
// the property type is checked before overwriting the
// value. The property mode is also checked to be sure a new
// value may be written. If the property does not exist, then
// the property is added to the PropertySet. This is a batch
// operation that returns the MultipleExceptions exception if
// any define operation failed.
// = Support for Getting and Setting Property Modes.
PropertyModeType get_property_mode (in PropertyName property_name)
raises (PropertyNotFound,
InvalidPropertyName);
// Support for Getting and Setting Property Modes.
boolean get_property_modes (in PropertyNames property_names,
out PropertyModes property_modes);
// Support for Getting and Setting Property Modes.
void set_property_mode (in PropertyName property_name,
in PropertyModeType property_mode)
raises (InvalidPropertyName,
PropertyNotFound,
UnsupportedMode);
// Sets the mode of a property in the PropertySet.
void set_property_modes (in PropertyModes property_modes)
raises (MultipleExceptions);
// Sets the mode for each property in the property_modes
// parameter. This is a batch operation that returns the
// MultipleExceptions exception if any set failed.
};
interface PropertyNamesIterator
{
// = TITLE
// Interface for iterating thru the Property Names.
//
// = DESCRIPTION
// The PropertyNamesIterator interface allows a client to
// iterate through the names using the next_one or next_n operations.
void reset ();
// The reset operation resets the position in an iterator to the
// first property, if one exists.
boolean next_one (out PropertyName property_name);
// The next_one operation returns true if an item exists at the
// current position in the iterator with an output parameter of
// a property name. A return of false signifies no more items in
// the iterator.
boolean next_n (in unsigned long how_many,
out PropertyNames property_names);
// The next_n operation returns true if an item exists at the
// current position in the iterator and the how_many parameter
// was set greater than zero. The output is a PropertyNames
// sequence with at most the how_many number of names. A return
// of false signifies no more items in the iterator.
void destroy ();
// The destroy operation destroys the iterator.
};
interface PropertiesIterator
{
// = TITLE
// Interface for iterating thru the Properties.
//
// = DESCRIPTION
// allows a client to through the name-value pairs using the
// next_one or next_n operations.
void reset ();
// The reset operation resets the position in an iterator to the
// first property, if one exists.
boolean next_one (out Property aproperty);
// The next_one operation returns true if an item exists at the
// current position in the iterator with an output parameter of
// a property. A return of false signifies no more items in the
// iterator.
boolean next_n (in unsigned long how_many,
out Properties nproperties);
// The next_n operation returns true if an item exists at the
// current position in the iterator and the how_many parameter
// was set greater than zero. The output is a properties
// sequence with at most the how_many number of properties. A
// return of false signifies no more items in the iterator.
void destroy ();
// The destroy operation destroys the iterator.
};
};
#endif /* TAO_PROPERTY_IDL */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -