source: finroc_plugins_network_transport/runtime_info/tRemoteCreateAction.h @ 25:e98be0d299c7

17.03
Last change on this file since 25:e98be0d299c7 was 25:e98be0d299c7, checked in by Max Reichardt <mreichardt@…>, 6 years ago

Adapts to changes in finroc_plugins_runtime_construction (32 bit handle for create actions)

File size: 4.1 KB
Line 
1//
2// You received this file as part of Finroc
3// A framework for intelligent robot control
4//
5// Copyright (C) Finroc GbR (finroc.org)
6//
7// This program is free software; you can redistribute it and/or modify
8// it under the terms of the GNU General Public License as published by
9// the Free Software Foundation; either version 2 of the License, or
10// (at your option) any later version.
11//
12// This program is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15// GNU General Public License for more details.
16//
17// You should have received a copy of the GNU General Public License along
18// with this program; if not, write to the Free Software Foundation, Inc.,
19// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20//
21//----------------------------------------------------------------------
22/*!\file    plugins/network_transport/runtime_info/tRemoteCreateAction.h
23 *
24 * \author  Max Reichardt
25 *
26 * \date    2017-02-27
27 *
28 * \brief   Contains tRemoteCreateAction
29 *
30 * \b tRemoteCreateAction
31 *
32 * Represents tCreateFrameworkElementAction in remote runtime environment.
33 *
34 * Remote create actions are currently only used in Java tools.
35 * Therefore, only serialization is implemented
36 */
37//----------------------------------------------------------------------
38#ifndef __plugins__network_transport__runtime_info__tRemoteCreateAction_h__
39#define __plugins__network_transport__runtime_info__tRemoteCreateAction_h__
40
41//----------------------------------------------------------------------
42// External includes (system with <>, local with "")
43//----------------------------------------------------------------------
44#include "plugins/runtime_construction/tCreateFrameworkElementAction.h"
45
46//----------------------------------------------------------------------
47// Internal includes with ""
48//----------------------------------------------------------------------
49
50//----------------------------------------------------------------------
51// Namespace declaration
52//----------------------------------------------------------------------
53namespace finroc
54{
55namespace network_transport
56{
57namespace runtime_info
58{
59
60//----------------------------------------------------------------------
61// Forward declarations / typedefs / enums
62//----------------------------------------------------------------------
63
64//----------------------------------------------------------------------
65// Class declaration
66//----------------------------------------------------------------------
67//! Remote create action
68/*!
69 * Represents tCreateFrameworkElementAction in remote runtime environment.
70 *
71 * Remote create actions are currently only used in Java tools.
72 * Therefore, only serialization is implemented
73 */
74class tRemoteCreateAction : public rrlib::serialization::PublishedRegisters::tRemoteEntryBase<uint32_t, runtime_construction::tCreateFrameworkElementAction::tRegister>
75{
76
77//----------------------------------------------------------------------
78// Public methods and typedefs
79//----------------------------------------------------------------------
80public:
81
82  void DeserializeRegisterEntry(rrlib::serialization::tInputStream& stream)
83  {}
84
85  static void SerializeRegisterEntry(rrlib::serialization::tOutputStream& stream, const runtime_construction::tCreateFrameworkElementAction* create_action)
86  {
87    stream.WriteString(create_action->GetName());
88    stream.WriteString(create_action->GetModuleGroup().ToString());
89    stream.WriteBoolean(create_action->IsDeprecated());
90    stream.WriteBoolean(create_action->GetParameterTypes());
91    if (create_action->GetParameterTypes())
92    {
93      stream << *create_action->GetParameterTypes();
94    }
95  }
96
97//----------------------------------------------------------------------
98// Private fields and methods
99//----------------------------------------------------------------------
100private:
101
102};
103
104//----------------------------------------------------------------------
105// End of namespace declaration
106//----------------------------------------------------------------------
107}
108}
109}
110
111
112#endif
Note: See TracBrowser for help on using the repository browser.