/*! * (C) Copyright 2003-2015 Awox SA. All rights reserved. * This work contains confidential trade secrets of Awox. * Use, examination, copying, transfer and disclosure to others * are prohibited, except with the express written agreement of Awox. * * @Author: Awox * @Date: 06/10/2014 */ /*------------------------------- INCLUDES ----------------------------------*/ #include "ubuscpp/UBusObject.h" /*------------------------------- GLOBALS ----------------------------------*/ /*--------------------------------- DEFINES ---------------------------------*/ /*! ---------------------------------------------------------------------------- * @fn awUBusObject * * @brief Construct a new awUBusObject, the object type and methods is * provided statically using the type Derived * * @param anObjType object type, be carreful it should not be a temporary !!! * @param AnObjName : the name of the object * @param anObjID : TO BE DEFINED * @param anObjPath : TO BE DEFINED * * @important : the parameter anObjType should not be a temporary !!! */ UBusObject::UBusObject (ubus_object_type &anObjType, const char *AnObjName, int anObjID, const char *anObjPath) { name = AnObjName ? strdup (AnObjName) : 0; id = anObjID; path = anObjPath ? strdup (anObjPath) : 0; type = &anObjType; methods = anObjType.methods; n_methods = anObjType.n_methods; // nullify last fields subscribe_cb = 0; has_subscribers = false; } /*! ---------------------------------------------------------------------------- * @fn ~UBusObject * * @brief Destructor of the UBusObject */ UBusObject::~UBusObject (void) { free ((char*)name); free ((char*)path); }