lxcpp: provisioning implementation (part 1)
[platform/core/security/vasum.git] / libs / lxcpp / commands / command.hpp
1 /*
2  *  Copyright (C) 2015 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *  This library is free software; you can redistribute it and/or
5  *  modify it under the terms of the GNU Lesser General Public
6  *  License version 2.1 as published by the Free Software Foundation.
7  *
8  *  This library is distributed in the hope that it will be useful,
9  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11  *  Lesser General Public License for more details.
12  *
13  *  You should have received a copy of the GNU Lesser General Public
14  *  License along with this library; if not, write to the Free Software
15  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
16  */
17
18 /**
19  * @file
20  * @author  Jan Olszak (j.olszak@samsung.com)
21  * @brief   Command interface definition
22  */
23
24 #ifndef LXCPP_COMMANDS_COMMAND_HPP
25 #define LXCPP_COMMANDS_COMMAND_HPP
26
27 namespace lxcpp {
28
29 class Command {
30 public:
31     // do sth [mandatory]
32     virtual void execute() = 0;
33
34     // roll-back execute() action [optional]
35     virtual void revert() {}
36 };
37
38 } // namespace lxcpp
39
40 #endif // LXCPP_COMMANDS_COMMAND_HPP