libptpmgmt  1.3
libptpmgmt library that provides the functionality of linuxptp pmc
Public Attributes | List of all members
ptpmgmt_json_t Struct Reference

#include <json.h>

Collaboration diagram for ptpmgmt_json_t:
Collaboration graph
[legend]

Public Attributes

void(* free )(ptpmgmt_json j)
 
bool(* selectLib )(const char *libName)
 
const char *(* loadLibrary )()
 
bool(* isLibShared )()
 
bool(* fromJson )(ptpmgmt_json j, const char *json)
 
bool(* fromJsonObj )(ptpmgmt_json j, const void *jobj)
 
enum ptpmgmt_mng_vals_e(* managementId )(const_ptpmgmt_json j)
 
const void *(* dataField )(ptpmgmt_json j)
 
enum ptpmgmt_actionField_e(* actionField )(const_ptpmgmt_json j)
 
bool(* isUnicast )(const_ptpmgmt_json j)
 
bool(* haveIsUnicast )(const_ptpmgmt_json j)
 
uint8_t(* PTPProfileSpecific )(const_ptpmgmt_json j)
 
bool(* havePTPProfileSpecific )(const_ptpmgmt_json j)
 
uint8_t(* domainNumber )(const_ptpmgmt_json j)
 
bool(* haveDomainNumber )(const_ptpmgmt_json j)
 
uint8_t(* versionPTP )(const_ptpmgmt_json j)
 
bool(* haveVersionPTP )(const_ptpmgmt_json j)
 
uint8_t(* minorVersionPTP )(const_ptpmgmt_json j)
 
bool(* haveMinorVersionPTP )(const_ptpmgmt_json j)
 
uint16_t(* sequenceId )(const_ptpmgmt_json j)
 
bool(* haveSequenceId )(const_ptpmgmt_json j)
 
uint32_t(* sdoId )(const_ptpmgmt_json j)
 
bool(* haveSdoId )(const_ptpmgmt_json j)
 
const struct ptpmgmt_PortIdentity_t *(* srcPort )(ptpmgmt_json j)
 
bool(* haveSrcPort )(const_ptpmgmt_json j)
 
const struct ptpmgmt_PortIdentity_t *(* dstPort )(ptpmgmt_json j)
 
bool(* haveDstPort )(const_ptpmgmt_json j)
 
bool(* setAction )(const_ptpmgmt_json j, ptpmgmt_msg message)
 

Detailed Description

The ptpmgmt message structure hold the json object and call backs to call C++ methods

Member Data Documentation

◆ actionField

enum ptpmgmt_actionField_e(* ptpmgmt_json_t::actionField) (const_ptpmgmt_json j)

Get action field

Parameters
[in]jobjpointer of JSON object
Returns
action field

◆ dataField

const void*(* ptpmgmt_json_t::dataField) (ptpmgmt_json j)

Get dataField

Parameters
[in,out]jobjpointer of JSON object
Returns
dataField pointer or null
Note
User should not try to free this TLV object

◆ domainNumber

uint8_t(* ptpmgmt_json_t::domainNumber) (const_ptpmgmt_json j)

Get domain number

Parameters
[in]jobjpointer of JSON object
Returns
domain number

◆ dstPort

const struct ptpmgmt_PortIdentity_t*(* ptpmgmt_json_t::dstPort) (ptpmgmt_json j)

Get target port ID

Parameters
[in,out]jobjpointer of JSON object
Returns
target port ID

◆ free

void(* ptpmgmt_json_t::free) (ptpmgmt_json j)

< Free json object

Parameters
[in,out]jjson object

◆ fromJson

bool(* ptpmgmt_json_t::fromJson) (ptpmgmt_json j, const char *json)

Convert JSON string to message

Parameters
[in,out]jsonstring
Returns
true if parsing success

◆ fromJsonObj

bool(* ptpmgmt_json_t::fromJsonObj) (ptpmgmt_json j, const void *jobj)

Convert JSON object to message

Parameters
[in,out]jobjpointer of JSON object
Returns
true if parsing success
Note
jobj must be json_object pointer
Attention
You must use the same JSON library used by this library! build with USE_CJSON use the json-c library build with USE_FCJSON use the fast json library

◆ haveDomainNumber

bool(* ptpmgmt_json_t::haveDomainNumber) (const_ptpmgmt_json j)

Is domain number in JSON?

Parameters
[in]jobjpointer of JSON object
Returns
true if domain number in JSON

◆ haveDstPort

bool(* ptpmgmt_json_t::haveDstPort) (const_ptpmgmt_json j)

Is target port ID in JSON?

Parameters
[in]jobjpointer of JSON object
Returns
true if target port ID in JSON

◆ haveIsUnicast

bool(* ptpmgmt_json_t::haveIsUnicast) (const_ptpmgmt_json j)

Is Unicast flag in JSON?

Parameters
[in]jobjpointer of JSON object
Returns
true if Unicast flag in JSON

◆ haveMinorVersionPTP

bool(* ptpmgmt_json_t::haveMinorVersionPTP) (const_ptpmgmt_json j)

Is PTP minor version in JSON?

Parameters
[in]jobjpointer of JSON object
Returns
true if PTP minor version in JSON

◆ havePTPProfileSpecific

bool(* ptpmgmt_json_t::havePTPProfileSpecific) (const_ptpmgmt_json j)

Is PTP profile specific in JSON?

Parameters
[in]jobjpointer of JSON object
Returns
true if PTP profile specific in JSON

◆ haveSdoId

bool(* ptpmgmt_json_t::haveSdoId) (const_ptpmgmt_json j)

Is sdoId in JSON?

Parameters
[in]jobjpointer of JSON object
Returns
true if sdoId in JSON

◆ haveSequenceId

bool(* ptpmgmt_json_t::haveSequenceId) (const_ptpmgmt_json j)

Is sequence ID in JSON?

Parameters
[in]jobjpointer of JSON object
Returns
true if sequence ID in JSON

◆ haveSrcPort

bool(* ptpmgmt_json_t::haveSrcPort) (const_ptpmgmt_json j)

Is source port ID in JSON?

Parameters
[in]jobjpointer of JSON object
Returns
true if source port ID in JSON

◆ haveVersionPTP

bool(* ptpmgmt_json_t::haveVersionPTP) (const_ptpmgmt_json j)

Is PTP major version in JSON?

Parameters
[in]jobjpointer of JSON object
Returns
true if PTP major version in JSON

◆ isLibShared

bool(* ptpmgmt_json_t::isLibShared) ()

Determine if library is shared or static

Returns
true if library is shared library

◆ isUnicast

bool(* ptpmgmt_json_t::isUnicast) (const_ptpmgmt_json j)

Get Unicast flag

Parameters
[in]jobjpointer of JSON object
Returns
Unicast flag

◆ loadLibrary

const char*(* ptpmgmt_json_t::loadLibrary) ()

Return shared library name

Returns
shared library name or nullptr in not
Note
When using static link, function return the shared library name of the same code!

◆ managementId

enum ptpmgmt_mng_vals_e(* ptpmgmt_json_t::managementId) (const_ptpmgmt_json j)

Get management ID

Parameters
[in]jjson object
Returns
management ID

◆ minorVersionPTP

uint8_t(* ptpmgmt_json_t::minorVersionPTP) (const_ptpmgmt_json j)

Get PTP minor version

Parameters
[in]jobjpointer of JSON object
Returns
PTP minor version

◆ PTPProfileSpecific

uint8_t(* ptpmgmt_json_t::PTPProfileSpecific) (const_ptpmgmt_json j)

Get PTP profile specific

Parameters
[in]jobjpointer of JSON object
Returns
PTP profile specific

◆ sdoId

uint32_t(* ptpmgmt_json_t::sdoId) (const_ptpmgmt_json j)

Get sdoId

Parameters
[in]jobjpointer of JSON object
Returns
sdoId

◆ selectLib

bool(* ptpmgmt_json_t::selectLib) (const char *libName)

Try to load the a specific library

Parameters
[in]libNamepartial library name
Returns
true if library found and load
Note
This function always return false when called from static library
The libName can be partial and is case insensitive. Library will load only if found exactly one match.
If this function fails, fromJson() and fromJsonObj(), will try to load any available library.
if Library is already load, return true if it matchs

◆ sequenceId

uint16_t(* ptpmgmt_json_t::sequenceId) (const_ptpmgmt_json j)

Get sequence ID

Parameters
[in]jobjpointer of JSON object
Returns
sequence ID

◆ setAction

bool(* ptpmgmt_json_t::setAction) (const_ptpmgmt_json j, ptpmgmt_msg message)

Call message setAction with parsed JSON

Parameters
[in]jobjpointer of JSON object
Returns
message setAction result

◆ srcPort

const struct ptpmgmt_PortIdentity_t*(* ptpmgmt_json_t::srcPort) (ptpmgmt_json j)

Get source port ID

Parameters
[in,out]jobjpointer of JSON object
Returns
source port ID

◆ versionPTP

uint8_t(* ptpmgmt_json_t::versionPTP) (const_ptpmgmt_json j)

Get PTP major version

Parameters
[in]jobjpointer of JSON object
Returns
PTP major version

The documentation for this struct was generated from the following file: