00001 /* vim: set et sw=3 tw=0 fo=croqlaw cino=t0: 00002 * 00003 * Astxx, the Asterisk C++ API and Utility Library. 00004 * Copyright (C) 2005-2007 Matthew A. Nicholson 00005 * Copyright (C) 2005-2007 Digium, Inc. 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License version 2.1 as published by the Free Software Foundation. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public 00017 * License along with this library; if not, write to the Free Software 00018 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 */ 00020 00027 #ifndef ASTXX_MANAGER_ACTION_COMMAND_H 00028 #define ASTXX_MANAGER_ACTION_COMMAND_H 00029 00030 #include <astxx/manager/basic_action.h> 00031 #include <astxx/manager/message.h> 00032 #include <astxx/manager/error.h> 00033 00034 namespace astxx { 00035 namespace manager { 00036 namespace action { 00041 class command : public basic_action { 00042 public: 00046 command(const std::string& command) : m_command(command) { 00047 } 00048 00049 message::action action() const { 00050 message::action action("Command"); 00051 action["Command"] = m_command; 00052 return action; 00053 } 00054 00059 message::response handle_response(message::response response) { 00060 basic_action::handle_response(response); 00061 m_result = response.data; 00062 return response; 00063 } 00064 00068 std::string result() { 00069 return m_result; 00070 } 00071 00072 private: 00073 std::string m_command; 00074 std::string m_result; 00075 }; 00076 } 00077 } 00078 } 00079 00080 #endif
1.5.6