7e6bde21bcd48b83168ea24cec3dad770c88af60
[profile/ivi/ico-uxf-homescreen.git] / lib / misc / state-machine / CicoStateAction.h
1 /*
2  * Copyright (c) 2013 TOYOTA MOTOR CORPORATION.
3  *
4  * Contact: 
5  *
6  * Licensed under the Apache License, Version 2.0 (the License){}
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an AS IS BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License. 
17  */
18 #ifndef CICOSTATEACTION_H
19 #define CICOSTATEACTION_H
20
21 #include "CicoEvent.h"
22
23 #ifndef CICOSTATE_H
24 class CicoState;
25 #endif
26
27 #ifndef CICOHISTORYSTATE_H
28 class CicoHistoryState;
29 #endif
30
31 #ifndef CICOFINALSTATE_H
32 class CicoFinalState;
33 #endif
34
35 /**
36  * Base class for action execution of entry / exit / do
37  * @author m.kamoshida
38  * @version 0.1
39  */
40 /**
41  * @brief The CicoStateAction class
42  */
43 class CicoStateAction
44 {
45 public:
46     // Constructior
47                 CicoStateAction();
48
49     virtual void onEntry(const CicoEvent& ev, const CicoState* stt,
50                           int addval);
51     virtual void onEntry(const CicoEvent& ev, const CicoFinalState* stt,
52                           int addval);
53     virtual void onEntry(const CicoEvent& ev, const CicoHistoryState* stt,
54                           int addval);
55
56     virtual void onExit(const CicoEvent& ev, const CicoState* stt,
57                         int addval);
58     virtual void onExit(const CicoEvent& ev, const CicoHistoryState* stt,
59                         int addval);
60
61     virtual void onDo(const CicoEvent& ev, const CicoState* stt,
62                       int addval);
63
64 private:
65 };
66
67 #endif // CICOSTATEACTION_H