Python wrapper: add some quality improvements

pull/309/head
Mikael Bourhis 5 years ago
parent da9b77af7a
commit b1fc481ab8

@ -26,8 +26,21 @@ class CommandTermHandler: public EventHandler {
*/
class CommandTermSubscriber: public EventSubscriber {
public:
CommandTermSubscriber(): EventSubscriber()
{
m_libiec61850_control_object_client = nullptr;
}
virtual ~CommandTermSubscriber() {}
virtual void subscribe()
{
// preconditions
if (nullptr == m_libiec61850_control_object_client) {
fprintf(stderr, "CommandTermSubscriber::subscribe() failed: 'control object client' is null\n");
return;
}
virtual void subscribe() {
// install the libiec61850 callback:
// the 'function pointer' is the 'static' method of this class
ControlObjectClient_setCommandTerminationHandler(
@ -41,6 +54,12 @@ class CommandTermSubscriber: public EventSubscriber {
{
PyThreadStateLock PyThreadLock;
// Preconditions
if (nullptr == connection) {
fprintf(stderr, "CommandTermSubscriber::triggerCommandTermHandler() failed: input object is null\n");
return;
}
// TODO: search the appropriate 'EventSubscriber' object
if (m_last_created_event_subscriber) {
EventHandler *l_event_handler_p = m_last_created_event_subscriber->getEventHandler();
@ -49,9 +68,12 @@ class CommandTermSubscriber: public EventSubscriber {
l_event_handler_p->trigger();
}
else {
printf("The EventHandler is undefined\n");
fprintf(stderr, "CommandTermSubscriber::triggerCommandTermHandler() failed: EventHandler is undefined\n");
}
}
else {
fprintf(stderr, "CommandTermSubscriber::triggerCommandTermHandler() failed: subscriber is not registered\n");
}
}
// Setters

@ -22,8 +22,22 @@ class GooseHandler: public EventHandler {
class GooseSubscriberForPython: public EventSubscriber {
public:
GooseSubscriberForPython(): EventSubscriber()
{
m_libiec61850_goose_subscriber = nullptr;
}
virtual ~GooseSubscriberForPython() {}
virtual void subscribe()
{
// preconditions
if (nullptr == m_libiec61850_goose_subscriber) {
fprintf(stderr, "GooseSubscriberForPython::subscribe() failed: 'GOOSE subscriber' is null\n");
return;
}
virtual void subscribe() {
// install the libiec61850 callback:
// the 'function pointer' is the 'static' method of this class
GooseSubscriber_setListener(m_libiec61850_goose_subscriber,
@ -36,6 +50,12 @@ class GooseSubscriberForPython: public EventSubscriber {
{
PyThreadStateLock PyThreadLock;
// Preconditions
if (nullptr == subscriber) {
fprintf(stderr, "GooseSubscriberForPython::triggerGooseHandler() failed: input object is null\n");
return;
}
// TODO: search the appropriate 'EventSubscriber' object
if (m_last_created_event_subscriber) {
EventHandler *l_event_handler_p = m_last_created_event_subscriber->getEventHandler();
@ -44,9 +64,12 @@ class GooseSubscriberForPython: public EventSubscriber {
l_event_handler_p->trigger();
}
else {
printf("The EventHandler is undefined\n");
fprintf(stderr, "GooseSubscriberForPython::triggerGooseHandler() failed: EventHandler is undefined\n");
}
}
else {
fprintf(stderr, "GooseSubscriberForPython::triggerGooseHandler() failed: subscriber is not registered\n");
}
}
// Setters

@ -22,8 +22,21 @@ class RCBHandler: public EventHandler {
class RCBSubscriber: public EventSubscriber {
public:
RCBSubscriber(): EventSubscriber()
{
m_ied_connection = nullptr;
}
virtual ~RCBSubscriber() {}
virtual void subscribe() {
// preconditions
if (nullptr == m_ied_connection) {
fprintf(stderr, "RCBSubscriber::subscribe() failed: 'IedConnection' is null\n");
return;
}
// install the libiec61850 callback:
// the 'function pointer' is the 'static' method of this class
IedConnection_installReportHandler(m_ied_connection,
@ -38,6 +51,12 @@ class RCBSubscriber: public EventSubscriber {
{
PyThreadStateLock PyThreadLock;
// Preconditions
if (nullptr == report) {
fprintf(stderr, "RCBSubscriber::triggerRCBHandler() failed: input object is null\n");
return;
}
// TODO: search the appropriate 'EventSubscriber' object
if (m_last_created_event_subscriber) {
EventHandler *l_event_handler_p = m_last_created_event_subscriber->getEventHandler();
@ -46,9 +65,12 @@ class RCBSubscriber: public EventSubscriber {
l_event_handler_p->trigger();
}
else {
printf("The EventHandler is undefined\n");
fprintf(stderr, "RCBSubscriber::triggerRCBHandler() failed: EventHandler is undefined\n");
}
}
else {
fprintf(stderr, "RCBSubscriber::triggerRCBHandler() failed: subscriber is not registered\n");
}
}
// Setters

Loading…
Cancel
Save