summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/AVStreams.idl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/AVStreams.idl')
-rw-r--r--TAO/orbsvcs/orbsvcs/AVStreams.idl532
1 files changed, 0 insertions, 532 deletions
diff --git a/TAO/orbsvcs/orbsvcs/AVStreams.idl b/TAO/orbsvcs/orbsvcs/AVStreams.idl
deleted file mode 100644
index 9199eaebe1e..00000000000
--- a/TAO/orbsvcs/orbsvcs/AVStreams.idl
+++ /dev/null
@@ -1,532 +0,0 @@
-/* -*- C++ -*- */
-
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// cos
-//
-// = FILENAME
-// AVStreams.idl
-//
-// = AUTHOR
-// OMG
-//
-// ============================================================================
-
-#include "CosPropertyService.idl"
-
-#pragma prefix "omg.org"
-
-module AVStreams
-{
- // = DESCRIPTION
- // IDL for Control and Management of Audio/Video Streams
- // Revised Submission
-
- struct QoS
- {
- // This structure represents QoS for a given type.
- // E.g. {"video_qos", <"video_framerate", 26>,
- // <"video_depth", 9>}
- string QoSType;
- // Name of the Qos type, e.g. "video_qos"
- string QoSParams;
-
- // @@ Naga, can you please check to see if this can be uncommented
- // now?
- // CosPropertyService::Properties QoSParams;
- // Sequence of name value pairs, see e.g. above.
- };
-
- typedef sequence<QoS> streamQoS;
- // The QoS of a stream is a sequence of QoS structs (defined above)
-
- typedef sequence<string> flowSpec;
- // flowSpec is used to keep transport protocol information Each
- // string is one endpoint.
-
- typedef sequence<string> protocolSpec;
- // List of protocols supported protocol names registered by OMG.
- // e.g., TCP, UDP, AAL5, IPX, RTP
-
- typedef sequence<octet> encryption_key;
- // Used as a key for public-key encryption
-
- struct SFPStatus
- {
- // = TITLE
- // This structure is defined for SFP1.0 Subsequent versions of
- // the protocol may specify new structures
- //
- // = DESCRIPTION
- // This structure is defined for SFP1.0 Subsequent versions of
- // the protocol may specify new structures
- boolean isFormatted;
- boolean isSpecialFormat;
- boolean seqNums;
- boolean timestamps;
- boolean sourceIndicators;
- };
-
- enum flowState
- {
- stopped,
- started,
- dead
- };
- // Represents the state of a flow.
-
- enum dirType
- {
- dir_in,
- dir_out
- };
- // The direction of a flow.
-
- struct flowStatus
- {
- // = TITLE
- // Used to store the status of a flow.
-
- string flowName;
- dirType directionality;
- flowState status;
- SFPStatus theFormat;
- QoS theQoS;
- };
-
- // @@ Naga, can you please check to see if this is working now?
- // typedef CosPropertyService::Property streamEvent;
-
- typedef string streamEvent;
- // Used to convey events, in Basic_StreamCtrl::push_event.
-
- exception notSupported
- {
- // Used to indicate that an operation is not supported.
- };
-
- exception PropertyException
- {
- // Property exception: raised by VDev::configure ().
- };
-
- exception FPError
- {
- // An flow protocol related error.
- string flow_name;
- };
-
-
- exception streamOpFailed
- {
- // Raised by operations on streams.
- string reason;
- };
-
- exception streamOpDenied
- {
- // Raised by operations on streams.
- string reason;
- };
-
- exception noSuchFlow
- {
- // Used to indicate that an invalid flow name was used for the
- // operation.
- };
-
- exception QoSRequestFailed
- {
- // Used to indicate failure in changing QoS.
- string reason;
- };
-
- // @@ Naga, can you please see if this is working now?
- // interface Basic_StreamCtrl : CosPropertyService::PropertySet {
- interface Basic_StreamCtrl
- {
- // = DESCRIPTION
- // Base class for StreamCtrl, implements basic stream start
- // and stop functionality.
-
- // = Empty flowSpec => apply operation to all flows
- void stop (in flowSpec the_spec) raises (noSuchFlow);
- // Stop the transfer of data of the stream Empty the_spec means
- // apply operation to all flows.
-
- void start (in flowSpec the_spec) raises (noSuchFlow);
- // Start the transfer of data in the stream. Empty the_spec
- // means apply operation to all flows.
-
- void destroy (in flowSpec the_spec) raises (noSuchFlow);
- // Tears down the stream. This will close the connection, and
- // delete the streamendpoint and vdev associated with this
- // stream Empty the_spec means apply operation to all flows.
-
- boolean modify_QoS (inout streamQoS new_qos,
- in flowSpec the_spec)
- raises (noSuchFlow,
- QoSRequestFailed);
- // Changes the QoS associated with the stream Empty the_spec
- // means apply operation to all flows.
-
- oneway void push_event (in streamEvent the_event);
- // Called by StreamEndPoint when something goes wrong with a
- // flow.
-
- void set_FPStatus (in flowSpec the_spec,
- in string fp_name,
- in any fp_settings)
- raises (noSuchFlow,
- FPError);
- // Used to control the flow protocol parameters.
-
- Object get_flow_connection (in string flow_name)
- raises (noSuchFlow,
- notSupported);
- // Not implemented in the light profile, will raise the
- // notsupported exception.
-
- void set_flow_connection (in string flow_name,
- in Object flow_connection)
- raises (noSuchFlow,
- notSupported);
- // Not implemented in the light profile, will raise the
- // notsupported exception.
- };
-
- interface Negotiator
- {
- // = DESCRIPTION
- // This class is used to negotiate QoS between two stream endpoints
-
- boolean negotiate (in Negotiator remote_negotiator,
- in streamQoS qos_spec);
- // Initiates the process of negotiating the qos_spec.
- };
-
- // Forward declarations.
- interface VDev;
- interface MMDevice;
- interface StreamEndPoint;
- interface StreamEndPoint_A;
- interface StreamEndPoint_B;
-
- interface StreamCtrl : Basic_StreamCtrl
- {
- // = DESCRIPTION
- // Implementation the A/V StreamCtrl class. this class
- // is used to control the stream. It should be subclassed
- // by applications that want to provide more control features.
-
- boolean bind_devs (in MMDevice a_party, in MMDevice b_party,
- inout streamQoS the_qos,
- in flowSpec the_flows)
- raises (streamOpFailed,
- noSuchFlow,
- QoSRequestFailed);
- // Establish a stream between a_party and b_party, with qos
- // the_qos, and for the flows in the_flows if the_flows is
- // empty, bind all the flows Causes a connection to be
- // established between the StreamEndpoints. Returns
- // success/failure
-
- boolean bind (in StreamEndPoint_A a_party,
- in StreamEndPoint_B b_party,
- inout streamQoS the_qos,
- in flowSpec the_flows)
- raises (streamOpFailed,
- noSuchFlow,
- QoSRequestFailed);
- // Establish a connection between two streamendpoints. This can
- // be used if the streamendpoints have been created independent
- // of a MMDevice
-
- void unbind_party (in StreamEndPoint the_ep,
- in flowSpec the_spec)
- raises (streamOpFailed, noSuchFlow);
- // Unbind the_ep from the stream. Empty the_spec means apply to
- // all flows.
-
- void unbind ()
- raises (streamOpFailed);
- // unbind the stream. Same effect as Basic_StreamCtrl::destroy
- // ()
- };
-
- // @@ Naga, can you please see if this works now?
- // interface MCastConfigIf : CosPropertyService::PropertySet{
- interface MCastConfigIf
- {
- // = DESCRIPTION
- // Multicasting operations are not supported yet.
-
- boolean set_peer (in Object peer,
- inout streamQoS the_qos,
- in flowSpec the_spec)
- raises (QoSRequestFailed,
- streamOpFailed);
- // Multicasting operations are not supported yet.
-
- void configure (in CosPropertyService::Property a_configuration);
- // Multicasting operations are not supported yet.
-
- void set_initial_configuration (in CosPropertyService::Properties initial);
- // Multicasting operations are not supported yet.
-
- // Uses <format_name> standardised by OMG and IETF
- void set_format (in string flowName,
- in string format_name)
- raises (notSupported);
- // Multicasting operations are not supported yet.
-
- // Note, some of these device params are standardised by OMG
- void set_dev_params (in string flowName,
- in CosPropertyService::Properties new_params)
- raises (CosPropertyService::PropertyException,
- streamOpFailed);
- // Multicasting operations are not supported yet.
- };
-
- // @@ Naga, can you please check if this works?
- // interface StreamEndPoint : CosPropertyService::PropertySet{
- interface StreamEndPoint
- {
- // = DESCRIPTION
- // The Stream EndPoint. Used to implement one endpoint of a
- // stream that implements the transport layer.
- void stop (in flowSpec the_spec)
- raises (noSuchFlow);
- // Stop the stream. Empty the_spec means, for all the flows.
-
- void start (in flowSpec the_spec)
- raises (noSuchFlow);
- // Start the stream, Empty the_spec means, for all the flows.
-
- void destroy (in flowSpec the_spec)
- raises (noSuchFlow);
- // Destroy the stream, Empty the_spec means, for all the flows.
-
- boolean connect (in StreamEndPoint responder,
- inout streamQoS qos_spec,
- in flowSpec the_spec)
- raises (noSuchFlow,
- QoSRequestFailed,
- streamOpFailed);
- // Called by StreamCtrl. responder is the peer to connect with.
-
- boolean request_connection (in StreamEndPoint initiator,
- in boolean is_mcast,
- inout streamQoS qos,
- inout flowSpec the_spec)
- raises (streamOpDenied, noSuchFlow,
- QoSRequestFailed, FPError);
- // Called by the peer StreamEndPoint. The flow_spec indicates
- // the flows (which contain transport addresses etc.).
-
- boolean modify_QoS (inout streamQoS new_qos,
- in flowSpec the_flows)
- raises (noSuchFlow,
- QoSRequestFailed);
- // Change the transport qos on a stream.
-
- boolean set_protocol_restriction (in protocolSpec the_pspec);
- // Used to restrict the set of protocols.
-
- void disconnect(in flowSpec the_spec)
- raises (noSuchFlow,
- streamOpFailed);
- // Disconnect the flows.
-
- void set_FPStatus (in flowSpec the_spec,
- in string fp_name,
- in any fp_settings)
- raises (noSuchFlow,
- FPError);
- // Used to control the SFP parameters.
-
- Object get_fep (in string flow_name)
- raises (notSupported,
- noSuchFlow);
- // Not implemented in the light profile, throws notsupported.
-
- string add_fep (in Object the_fep)
- // Can fail for reasons {duplicateFepName, duplicateRef}
- raises (notSupported,
- streamOpFailed);
- // Not implemented in the light profile, throws notsupported.
-
- void remove_fep (in string fep_name)
- raises (notSupported,
- streamOpFailed);
- // Not implemented in the light profile, throws notsupported.
-
- void set_negotiator (in Negotiator new_negotiator);
- // Used to "attach" a negotiator to the endpoint.
-
- void set_key (in string flow_name,
- in encryption_key the_key);
- // Used for public key encryption.
-
- void set_source_id (in long source_id);
- // Used to set a unique id for packets sent by this
- // streamendpoint.
- };
-
- interface StreamEndPoint_A : StreamEndPoint
- {
- // = DESCRIPTION
- // The "A" side of a streamendpoint.
- boolean multiconnect (inout streamQoS the_qos,
- inout flowSpec the_spec)
- raises (noSuchFlow, QoSRequestFailed, streamOpFailed);
- // Used for ATM-style multicast.
-
- boolean connect_leaf (in StreamEndPoint_B the_ep,
- inout streamQoS the_qos,
- in flowSpec the_flows)
- raises (streamOpFailed, noSuchFlow,
- QoSRequestFailed, notSupported);
- // Used for ATM-style multicast.
-
- void disconnect_leaf (in StreamEndPoint_B the_ep,
- in flowSpec theSpec)
- raises(streamOpFailed, noSuchFlow);
- // Used for ATM-style multicast.
- };
-
- interface StreamEndPoint_B : StreamEndPoint
- {
- boolean multiconnect (inout streamQoS the_qos,
- inout flowSpec the_spec)
- raises (streamOpFailed, noSuchFlow,
- QoSRequestFailed, FPError);
- // Used for ATM-style multicast.
- };
-
- interface VDev : CosPropertyService::PropertySet
- {
- // = DESCRIPTION
- // Implements the VDev interface. One of these is created per
- // connection, and represents device-specific parameters.
-
- boolean set_peer (in StreamCtrl the_ctrl,
- in VDev the_peer_dev,
- inout streamQoS the_qos,
- in flowSpec the_spec)
- raises (noSuchFlow,
- QoSRequestFailed,
- streamOpFailed);
- // Called to tell the vdev who the streamctrl, peer vdev is.
-
- boolean set_Mcast_peer (in StreamCtrl the_ctrl,
- in MCastConfigIf a_mcastconfigif,
- inout streamQoS the_qos,
- in flowSpec the_spec)
- raises (noSuchFlow,
- QoSRequestFailed,
- streamOpFailed);
- // Used to set the streamctrl and multicast device.
-
- void configure (in CosPropertyService::Property the_config_mesg)
- raises (PropertyException,
- streamOpFailed);
- // Called by the peer VDev to configure the device (catch all).
-
- // Uses <formatName> standardised by OMG and IETF
- void set_format (in string flowName,
- in string format_name)
- raises (notSupported);
- // Used to set a format on a flowname.
-
- // = Note, some of these device params are standardised by OMG
- void set_dev_params (in string flowName,
- in CosPropertyService::Properties new_params)
- raises (PropertyException,
- streamOpFailed);
- // Used to set device parameters.
-
- boolean modify_QoS (inout streamQoS the_qos,
- in flowSpec the_spec)
- raises (noSuchFlow,
- QoSRequestFailed);
- // Called to change QoS of the device.
-
- };
-
- interface MMDevice : CosPropertyService::PropertySet
- {
- // = DESCRIPTION
- // Implements a factory to create Endpoints and VDevs.
- StreamEndPoint_A create_A (in StreamCtrl the_requester,
- out VDev the_vdev,
- inout streamQoS the_qos,
- out boolean met_qos,
- inout string named_vdev,
- in flowSpec the_spec)
- raises (streamOpFailed,
- streamOpDenied,
- notSupported,
- QoSRequestFailed,
- noSuchFlow);
- // Called by StreamCtrl to create a "A" type streamendpoint and
- // vdev.
-
- StreamEndPoint_B create_B(in StreamCtrl the_requester,
- out VDev the_vdev,
- inout streamQoS the_qos,
- out boolean met_qos,
- inout string named_vdev,
- in flowSpec the_spec)
- raises (streamOpFailed,
- streamOpDenied,
- notSupported,
- QoSRequestFailed,
- noSuchFlow);
- // Called by StreamCtrl to create a "B" type streamendpoint and
- // vdev.
-
- StreamCtrl bind (in MMDevice peer_device,
- inout streamQoS the_qos,
- out boolean is_met,
- in flowSpec the_spec)
- raises (streamOpFailed,
- noSuchFlow,
- QoSRequestFailed);
- // Can be used to request the MMDevice to create a new
- // StreamCtrl, and call bind_devs on it.
-
- StreamCtrl bind_mcast (in MMDevice first_peer,
- inout streamQoS the_qos,
- out boolean is_met,
- in flowSpec the_spec)
- raises (streamOpFailed,
- noSuchFlow,
- QoSRequestFailed);
- // Multicast bind.
-
- void destroy (in StreamEndPoint the_ep,
- in string vdev_name)
- // ie VDev not found
- raises (notSupported);
- // Remove the StreamEndPoint and the related vdev.
-
- string add_fdev (in Object the_fdev)
- raises (notSupported,
- streamOpFailed);
- // Not supported in the light profile, raises notsupported.
-
- Object get_fdev (in string flow_name)
- raises (notSupported,
- noSuchFlow);
- // Not supported in the light profile, raises notsupported.
-
- void remove_fdev (in string flow_name)
- raises (notSupported,
- noSuchFlow);
- // Not supported in the light profile, raises notsupported.
- };
-};