PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
profinet::gsdml Namespace Reference

Classes

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

Functions

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

Function Documentation

◆ ParseGsdml()

GSDMLDevice profinet::gsdml::ParseGsdml ( const std::string &  path)

Parse a GSDML file into a GSDMLDevice.

Parameters
pathFilesystem path to the .xml GSDML file.
Returns
The parsed device profile.

Throws std::runtime_error if the file can't be read or isn't well-formed XML, or if it doesn't contain a recognizable ISO15745Profile/ProfileBody/DeviceIdentity structure.

Definition at line 1244 of file gsdml.cpp.

References ParseGsdml(), and ParseGsdmlString().

Referenced by ParseGsdml().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ParseGsdmlString()

GSDMLDevice profinet::gsdml::ParseGsdmlString ( const std::string &  xml)

Parse GSDML content already held in memory.

Parameters
xmlComplete GSDML file content.
Returns
The parsed device profile.

Throws std::runtime_error if Xml isn't well-formed, or doesn't contain a recognizable device description structure.

Definition at line 1012 of file gsdml.cpp.

References profinet::gsdml::GSDMLModuleReference::allowedSlots, profinet::gsdml::GSDMLSubmoduleReference::allowedSubslots, ctx, profinet::gsdml::GSDMLDevice::dapModuleId, profinet::gsdml::GSDMLDevice::dapModuleIdentNumber, profinet::gsdml::GSDMLDevice::dapSlots, profinet::gsdml::GSDMLDevice::dapSubmoduleIdentNumber, profinet::gsdml::GSDMLDevice::dapSubmodules, profinet::gsdml::GSDMLDevice::deviceId, profinet::gsdml::GSDMLDevice::deviceName, profinet::gsdml::GSDMLModuleReference::fixedSlots, profinet::gsdml::GSDMLSubmoduleReference::fixedSubslots, profinet::gsdml::GSDMLSubmodule::id, profinet::gsdml::GSDMLModule::id, profinet::gsdml::GSDMLModuleReference::moduleId, profinet::gsdml::GSDMLModule::moduleIdentNumber, profinet::gsdml::GSDMLDevice::moduleReferences, profinet::gsdml::GSDMLDevice::modules, profinet::gsdml::GSDMLModule::name, ParseGsdmlString(), profinet::gsdml::GSDMLModule::physicalSubslots, profinet::gsdml::GSDMLSubmoduleReference::submoduleId, profinet::gsdml::GSDMLSubmodule::submoduleIdentNumber, profinet::gsdml::GSDMLSystemSubmodule::submoduleIdentNumber, profinet::gsdml::GSDMLModule::submoduleReferences, profinet::gsdml::GSDMLModule::submodules, profinet::gsdml::GSDMLDevice::submodules, profinet::gsdml::GSDMLSystemSubmodule::subslot, profinet::gsdml::GSDMLDevice::systemSubmodules, profinet::gsdml::GSDMLModuleReference::usedSlots, profinet::gsdml::GSDMLSubmoduleReference::usedSubslots, profinet::gsdml::GSDMLDevice::vendorId, and profinet::gsdml::GSDMLDevice::vendorName.

Referenced by ParseGsdml(), and ParseGsdmlString().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: