PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
gsdml.h File Reference

Declares the GSDML parser and PROFINET device-description data model. More...

#include <cstdint>
#include <map>
#include <optional>
#include <string>
#include <tuple>
#include <vector>
#include "profinet/rpc.h"
+ Include dependency graph for gsdml.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  profinet::gsdml::GSDMLDataItem
 One I/O data item within a submodule's cyclic data (GSDML DataItem element). More...
 
struct  profinet::gsdml::GSDMLSubmoduleReference
 Reference to a submodule that may be used by a module. More...
 
struct  profinet::gsdml::GSDMLSubmodule
 A GSDML virtual submodule definition (VirtualSubmoduleItem). More...
 
struct  profinet::gsdml::GSDMLModule
 A GSDML module definition (ModuleItem), possibly offering multiple virtual submodules. More...
 
struct  profinet::gsdml::GSDMLSystemSubmodule
 A GSDML system-defined submodule (e.g. built into the DAP: interface, port). More...
 
struct  profinet::gsdml::GSDMLModuleReference
 Reference describing how a module may be used by the DAP. More...
 
struct  profinet::gsdml::GSDMLDevice
 Complete parsed GSDML device profile. More...
 

Namespaces

namespace  profinet
 
namespace  profinet::gsdml
 

Functions

GSDMLDevice profinet::gsdml::ParseGsdml (const std::string &path)
 Parse a GSDML file into a GSDMLDevice.
 
GSDMLDevice profinet::gsdml::ParseGsdmlString (const std::string &xml)
 Parse GSDML content already held in memory.
 

Detailed Description

Declares the GSDML parser and PROFINET device-description data model.

Parses GSDML (General Station Description Markup Language) files, the XML device description format PROFINET devices ship with, into a catalog of pluggable/fixed modules and submodules that GSDMLDevice::BuildIoSlots() turns into rpc::IOSlot entries ready to hand to rpc::IOCRSetup – without hand-entering module idents and I/O sizes for cyclic IO configuration.

Definition in file gsdml.h.