File: DummyMultiPlugin.hh

package info (click to toggle)
ignition-plugin 1.2.1%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 728 kB
  • sloc: cpp: 4,712; ansic: 277; ruby: 128; sh: 38; makefile: 12
file content (43 lines) | stat: -rw-r--r-- 1,211 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#ifndef IGNITION_PLUGIN_TEST_PLUGINS_DUMMYMULTIPLUGIN_HH_
#define IGNITION_PLUGIN_TEST_PLUGINS_DUMMYMULTIPLUGIN_HH_

#include <ignition/plugin/EnablePluginFromThis.hh>

#include "DummyPlugins.hh"

namespace test
{
namespace util
{
/// \brief A plugin that implements multiple interfaces
class DummyMultiPlugin
    : public DummyNameBase,
      public DummyDoubleBase,
      public DummyIntBase,
      public DummySetterBase,
      public DummyGetObjectBase,
      public DummyGetPluginInstancePtr,
      public ignition::plugin::EnablePluginFromThis
{
  public: virtual std::string MyNameIs() const override;
  public: virtual double MyDoubleValueIs() const override;
  public: virtual int MyIntegerValueIs() const override;
  public: virtual DummyObject GetDummyObject() const override;

  public: virtual void SetName(const std::string &_name) override;
  public: virtual void SetDoubleValue(const double _val) override;
  public: virtual void SetIntegerValue(const int _val) override;

  public: virtual std::shared_ptr<void> PluginInstancePtr() const override;

  public: DummyMultiPlugin();

  private: std::string name;
  private: double val;
  private: int intVal;
};

}
}

#endif // DUMMYMULTIPLUGIN_HH