WSF
WsfXIO_ScriptClass.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFXIO_SCRIPTCLASS_HPP
13#define WSFXIO_SCRIPTCLASS_HPP
14
15#include "wsf_export.h"
16
17#include <memory>
18#include <string>
19
20class UtCallback;
21#include "UtScriptBasicTypes.hpp"
22class WsfSimulation;
23#include "WsfStringId.hpp"
27
28class WSF_EXPORT WsfXIO_ScriptClass : public UtScriptClass
29{
30public:
31 WsfXIO_ScriptClass(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
32 ~WsfXIO_ScriptClass() override = default;
33
34 bool AddStaticMethodP(std::unique_ptr<InterfaceMethod> aInterfaceMethod)
35 {
36 return UtScriptClass::AddStaticMethod(std::move(aInterfaceMethod));
37 }
38
40
47
61
62 void SubscribeScript(const WsfXIO_PublishFilter& aFilter, std::unique_ptr<Callee> aCalleePtr);
63
64protected:
65 std::vector<std::unique_ptr<Callee>> mCalleeList;
67};
68#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfXIO_Interface.hpp:54
Definition WsfXIO_PublishKey.hpp:159
Definition WsfXIO_PublishKey.hpp:27
static WsfXIO_ScriptClass * mInstancePtr
Definition WsfXIO_ScriptClass.hpp:66
UT_DECLARE_SCRIPT_METHOD(Unpublish)
UT_DECLARE_SCRIPT_METHOD(Subscribe_2)
std::vector< std::unique_ptr< Callee > > mCalleeList
Definition WsfXIO_ScriptClass.hpp:65
UT_DECLARE_SCRIPT_METHOD(Subscribe_1)
UT_DECLARE_SCRIPT_METHOD(Publish)
void SubscribeScript(const WsfXIO_PublishFilter &aFilter, std::unique_ptr< Callee > aCalleePtr)
Definition WsfXIO_ScriptClass.cpp:47
UT_DECLARE_SCRIPT_METHOD(Connection_2)
~WsfXIO_ScriptClass() override=default
UT_DECLARE_SCRIPT_METHOD(Connection_1)
WsfXIO_ScriptClass(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfXIO_ScriptClass.cpp:33
bool AddStaticMethodP(std::unique_ptr< InterfaceMethod > aInterfaceMethod)
Definition WsfXIO_ScriptClass.hpp:34
static WsfXIO_ScriptClass * GetInstance()
Definition WsfXIO_ScriptClass.hpp:39
int mPlatformIndex
Definition WsfXIO_ScriptClass.hpp:56
WsfXIO_Interface * mInterfacePtr
Definition WsfXIO_ScriptClass.hpp:54
WsfStringId mProcessorName
Definition WsfXIO_ScriptClass.hpp:57
std::unique_ptr< UtCallback > mCallbackPtr
Definition WsfXIO_ScriptClass.hpp:59
Callee(WsfXIO_Interface *aInterfacePtr, WsfSimulation &aSimulation)
Definition WsfXIO_ScriptClass.cpp:192
WsfStringId mScriptName
Definition WsfXIO_ScriptClass.hpp:58
void HandleCallback(const WsfXIO_PublishKey &aKey)
Definition WsfXIO_ScriptClass.cpp:160
WsfSimulation & mSimulation
Definition WsfXIO_ScriptClass.hpp:55
Copyrights Multiple, All Rights Reserved