NRP Core  1.4.1
create_datapack_class.h
Go to the documentation of this file.
1 /* * NRP Core - Backend infrastructure to synchronize simulations
2  *
3  * Copyright 2020-2023 NRP Team
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * This project has received funding from the European Union’s Horizon 2020
18  * Framework Programme for Research and Innovation under the Specific Grant
19  * Agreement No. 945539 (Human Brain Project SGA3).
20  */
21 
22 #ifndef CREATE_DATAPACK_CLASS_H
23 #define CREATE_DATAPACK_CLASS_H
24 
25 #include <memory>
26 #include <boost/python.hpp>
27 
32 {
33  public:
39  CreateDataPackClass(boost::python::dict nest, boost::python::dict devMap);
40 
47  static boost::python::object pyCreateDataPack(boost::python::tuple args, boost::python::dict kwargs);
48 
54  static boost::python::object pyRegisterDataPack(boost::python::tuple args, boost::python::dict kwargs);
55 
62  boost::python::object createAndRegisterDataPack(boost::python::tuple args, boost::python::dict kwargs);
63 
69  void registerDataPack(boost::python::str devName, boost::python::object nodeCollection);
70 
75  boost::python::dict pyDevMap();
76 
81  const boost::python::dict &devMap() const;
82 
83  private:
87  boost::python::dict _nest;
88 
92  boost::python::dict _devMap;
93 };
94 
95 #endif // CREATE_DATAPACK_CLASS_H
CreateDataPackClass::pyCreateDataPack
static boost::python::object pyCreateDataPack(boost::python::tuple args, boost::python::dict kwargs)
Python function to create datapack and register it in _devMap.
Definition: create_datapack_class.cpp:30
python_json_engine.args
Namespace args
Definition: python_json_engine.py:196
CreateDataPackClass
Singleton class. Used to create Nest datapacks in a manner that makes them accessible to the NRP.
Definition: create_datapack_class.h:31
python_grpc_engine.str
str
Definition: python_grpc_engine.py:63
CreateDataPackClass::pyRegisterDataPack
static boost::python::object pyRegisterDataPack(boost::python::tuple args, boost::python::dict kwargs)
pyRegisterDataPack
Definition: create_datapack_class.cpp:36
CreateDataPackClass::CreateDataPackClass
CreateDataPackClass(boost::python::dict nest, boost::python::dict devMap)
Constructor.
Definition: create_datapack_class.cpp:25
CreateDataPackClass::createAndRegisterDataPack
boost::python::object createAndRegisterDataPack(boost::python::tuple args, boost::python::dict kwargs)
Create new Nest datapack and add it to devMap.
Definition: create_datapack_class.cpp:44
CreateDataPackClass::registerDataPack
void registerDataPack(boost::python::str devName, boost::python::object nodeCollection)
Register an existing datapack.
CreateDataPackClass::pyDevMap
boost::python::dict pyDevMap()
Python Call Function to get NRP datapack mapping.
Definition: create_datapack_class.cpp:60
CreateDataPackClass::devMap
const boost::python::dict & devMap() const
Get datapack map.
Definition: create_datapack_class.cpp:65