Event.h
Go to the documentation of this file.
1/*
2* This file is part of ArmarX.
3*
4* Copyright (C) 2011-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5*
6* ArmarX is free software; you can redistribute it and/or modify
7* it under the terms of the GNU General Public License version 2 as
8* published by the Free Software Foundation.
9*
10* ArmarX is distributed in the hope that it will be useful, but
11* WITHOUT ANY WARRANTY; without even the implied warranty of
12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13* GNU General Public License for more details.
14*
15* You should have received a copy of the GNU General Public License
16* along with this program. If not, see <http://www.gnu.org/licenses/>.
17*
18* @package ArmarX::Core
19* @author Kai Welke (welke@kit.edu)
20* @date 2012
21* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22* GNU General Public License
23*/
24
25#pragma once
26
28#include <ArmarXCore/interface/observers/Event.h>
29
30//#include <IceUtil/Handle.h>
31
32
33namespace armarx
34{
35 class Variant;
36 class Event;
37 /**
38 * Typedef of EventPtr as IceInternal::Handle<Event> for convenience.
39 */
41
42 /**
43 * @class Event
44 * @brief An Event is used to communicate between e.g. condition handlers and statecharts.
45 * @ingroup ObserversGrp
46 *
47 * The receiver is always a statechart.
48 * It contains a dictionary for additional data of any kind.
49 */
50 class ARMARXCORE_IMPORT_EXPORT Event : virtual public EventBase
51 {
52 public:
53 Event();
54
55 Event(std::string eventReceiverName, std::string eventName);
56
57
58 EventPtr add(const std::string key, const Variant& value);
59 EventPtr add(const std::string key, const VariantContainerBasePtr& valueContainer);
60
61 Ice::ObjectPtr ice_clone() const override;
62
63 virtual EventPtr clone() const;
64 };
65
66} // namespace armarx
67extern template class ::IceInternal::Handle<::armarx::Event>;
#define ARMARXCORE_IMPORT_EXPORT
An Event is used to communicate between e.g.
Definition Event.h:51
EventPtr add(const std::string key, const Variant &value)
Definition Event.cpp:40
virtual EventPtr clone() const
Definition Event.cpp:61
EventPtr add(const std::string key, const VariantContainerBasePtr &valueContainer)
Ice::ObjectPtr ice_clone() const override
Definition Event.cpp:54
The Variant class is described here: Variants.
Definition Variant.h:224
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceInternal::Handle< Event > EventPtr
Typedef of EventPtr as IceInternal::Handle<Event> for convenience.
Definition Event.h:40