diff options
Diffstat (limited to 'TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.h')
-rw-r--r-- | TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.h b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.h new file mode 100644 index 00000000000..173f8897e98 --- /dev/null +++ b/TAO/orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.h @@ -0,0 +1,84 @@ +/* _*_ C++ _*_ */ +// $Id$ + +#ifndef _MPEG_AUDIO_CONTROL_STATE_H +#define _MPEG_AUDIO_CONTROL_STATE_H + +#include "ace/Singleton.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "mpeg_shared/Audio_ControlS.h" +#include "Globals.h" + +class Audio_Control_i; + +class Audio_Control_State +{ +public: + Audio_Control_State (void); + // constructor + + enum Audio_States + { + AUDIO_WAITING =0, + AUDIO_PLAY =1 + }; + + Audio_States get_state (void); + // returns the current state. + + void set_state (Audio_States state); + // sets the state. + + virtual CORBA::Boolean play (const Audio_Control::PLAYPara & para, + CORBA::Long_out ats) ; + + virtual CORBA::Boolean speed (const Audio_Control::SPEEDPara & para) ; + + virtual CORBA::Boolean stop (CORBA::Long cmdsn) ; + + virtual void close (void) ; +protected: + Audio_States state_; + // The state + + Audio_Global *audio_global_; + // Pointer to the global. + Audio_Control_i *audio_control_i_; +}; + + +class Audio_Control_Waiting_State : public virtual Audio_Control_State +{ +public: + Audio_Control_Waiting_State (void); + // Default constructor. + + virtual CORBA::Boolean play (const Audio_Control::PLAYPara ¶, + CORBA::Long_out ats); + + virtual void close (void); +}; + +class Audio_Control_Play_State: public virtual Audio_Control_State +{ +public: + Audio_Control_Play_State (void); + // Default constructor + + virtual CORBA::Boolean speed (const Audio_Control::SPEEDPara & para); + + virtual CORBA::Boolean stop (CORBA::Long cmdsn); + + virtual void close (void); +}; + +typedef ACE_Singleton <Audio_Control_Waiting_State, TAO_SYNCH_MUTEX> + AUDIO_CONTROL_WAITING_STATE; +typedef ACE_Singleton <Audio_Control_Play_State, TAO_SYNCH_MUTEX> + AUDIO_CONTROL_PLAY_STATE; + +#endif /*_MPEG_AUDIO_CONTROL_STATE_H */ |