00001
#if !defined (__STATE_HPP)
00002
#define __STATE_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#if !defined(__COMMON_HPP)
00025
#include <Common.hpp>
00026
#endif
00027
00028
namespace corelinux
00029 {
00030
00031 DECLARE_CLASS( Context );
00032 DECLARE_CLASS( State );
00033
00040 class State
00041 {
00042
public:
00044
00045
State(
void );
00046
00048
00049
virtual ~State(
void );
00050
00051
00052
00053
00060
bool operator==(
StateCref )
const;
00061
00062
00063
00064
00066
00067
virtual void handle(
void ) = 0;
00068
00069
protected:
00075
State(
StateCref )
throw (
Assertion );
00076
00084
StateRef operator=(
StateCref )
throw (
Assertion );
00085
00087
00088
void setCurrentState(
ContextPtr,
StatePtr )
00089
throw (
NullPointerException );
00090
00091 };
00092
00093 }
00094
00095
#endif // if !defined(__STATE_HPP)
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105