Commit d9ec54e6 authored by Pavel Vainerman's avatar Pavel Vainerman

(2.0): - UniversalInterface --> UInterface - ObjectsManager --> UniSetManager -…

(2.0): - UniversalInterface --> UInterface - ObjectsManager --> UniSetManager - ObjectsActitvator --> UniSetActivator
parent dc1fabfe
......@@ -27,7 +27,7 @@
#define BaseIOController_i_IDL_
// --------------------------------------------------------------------------
#include "../UniSetTypes/UniSetTypes_i.idl"
#include "../UniSetTypes/ObjectsManager_i.idl"
#include "../UniSetTypes/UniSetManager_i.idl"
// --------------------------------------------------------------------------------------------------------------
/*!
......@@ -35,7 +35,7 @@
* \brief Базовый интерфейс для создания координаторов ввода/вывода
*
*/
interface IOController_i : ObjectsManager_i
interface IOController_i : UniSetManager_i
{
// исключения
......
......@@ -7,7 +7,7 @@ CCDIR=$(top_builddir)/src/ObjectRepository
HHDIR=$(top_builddir)/include
# Исходные файлы IDL
IDLFILES=UniSetTypes_i.idl UniSetObject_i.idl ObjectsManager_i.idl
IDLFILES=UniSetTypes_i.idl UniSetObject_i.idl UniSetManager_i.idl
include $(top_builddir)/conf/idl.mk
......
......@@ -20,11 +20,11 @@
/*! \file
* \author Pavel Vainerman
* \date $Date: 2007/12/18 20:24:11 $
* \version $Id: ObjectsManager_i.idl,v 1.2 2007/12/18 20:24:11 vpashka Exp $
* \version $Id: UniSetManager_i.idl,v 1.2 2007/12/18 20:24:11 vpashka Exp $
*/
// --------------------------------------------------------------------------
#ifndef ObjectsManager_i_IDL_
#define ObjectsManager_i_IDL_
#ifndef UniSetManager_i_IDL_
#define UniSetManager_i_IDL_
// ---------------------------------------------------------------------------
#include "UniSetObject_i.idl"
#include "UniSetTypes_i.idl"
......@@ -33,33 +33,33 @@
//{
/*!
* \interface ObjectsManager_i
* \interface UniSetManager_i
* \brief Интерфейс менеджера объектов
* \author Pavel Vainerman
* \version
* \version
* \date September 2001-
*
* Базовый класс для менеджеров объектов. Позволяет посылать сообщение
* ко всем объектам сразу.
*/
interface ObjectsManager_i : UniSetObject_i
interface UniSetManager_i : UniSetObject_i
{
/*!< распространить сообщение всем подчиненным объектам */
void broadcast(in UniSetTypes::TransportMessage msg);
void broadcast(in UniSetTypes::TransportMessage msg);
/*! получение информации о состоянии подчиненных объектов(менеджеров)
* \param MaxLength - ограничение размера возвращаемой
* последовательности структур SimpleInfo.
* \note Если у менеджера количество подчиненных объектов
* больше MaxLength, то он вернет информацию только
* последовательности структур SimpleInfo.
* \note Если у менеджера количество подчиненных объектов
* больше MaxLength, то он вернет информацию только
* о первых MaxLength объектах. Если <=, то количество
* равное количеству объектов.
* \note Возвращаемые данные содержат в себе инфо. о всех
* \note Возвращаемые данные содержат в себе инфо. о всех
* подчиненных объектах данного менеджера, а также объектах
* подчиненных данному менеджеру менеджерах и их объектах
* и т.п. и т.п. рекурсивно... Так что MaxLength должно быть
* и т.п. и т.п. рекурсивно... Так что MaxLength должно быть
* достаточным.
* \todo Подумать насчет применения итератора, при слишком
* \todo Подумать насчет применения итератора, при слишком
* большом( >1000 ) количестве подчиненных объектов...
*/
UniSetTypes::SimpleInfoSeq getObjectsInfo( in long MaxLength );
......
......@@ -12,7 +12,7 @@
#include "Exceptions.h"
#include "UniSetObject.h"
#include "UniSetTypes.h"
#include "ObjectsManager.h"
#include "UniSetManager.h"
#include "MessageType.h"
#include "Configuration.h"
#include "ObjectIndex_XML.h"
......@@ -58,14 +58,14 @@ static bool commandToAll( const string& section, ObjectRepository *rep, Command
static void createSections( UniSetTypes::Configuration* c );
// --------------------------------------------------------------------------
int omap();
int configure( const string& args, UniversalInterface &ui );
int logRotate( const string& args, UniversalInterface &ui );
int setValue( const string& args, UniversalInterface &ui, Configuration* conf = UniSetTypes::conf );
int getValue( const string& args, UniversalInterface &ui, Configuration* conf = UniSetTypes::conf );
int getRawValue( const string& args, UniversalInterface &ui );
int getState( const string& args, UniversalInterface &ui );
int getCalibrate( const string& args, UniversalInterface &ui );
int oinfo( const string& args, UniversalInterface &ui );
int configure( const string& args, UInterface &ui );
int logRotate( const string& args, UInterface &ui );
int setValue( const string& args, UInterface &ui, Configuration* conf = UniSetTypes::conf );
int getValue( const string& args, UInterface &ui, Configuration* conf = UniSetTypes::conf );
int getRawValue( const string& args, UInterface &ui );
int getState( const string& args, UInterface &ui );
int getCalibrate( const string& args, UInterface &ui );
int oinfo( const string& args, UInterface &ui );
// --------------------------------------------------------------------------
static void print_help(int width, const string& cmd, const string& help, const string& tab=" " )
{
......@@ -154,7 +154,7 @@ int main(int argc, char** argv)
case 'x': //--setValue
{
uniset_init(argc,argv,conffile);
UniversalInterface ui(conf);
UInterface ui(conf);
return setValue(optarg,ui);
}
break;
......@@ -163,7 +163,7 @@ int main(int argc, char** argv)
{
// cout<<"(main):received option --getValue='"<<optarg<<"'"<<endl;
uniset_init(argc,argv,conffile);
UniversalInterface ui(conf);
UInterface ui(conf);
return getValue(optarg,ui);
}
break;
......@@ -172,7 +172,7 @@ int main(int argc, char** argv)
{
// cout<<"(main):received option --getRawValue='"<<optarg<<"'"<<endl;
uniset_init(argc,argv,conffile);
UniversalInterface ui(conf);
UInterface ui(conf);
return getRawValue(optarg,ui);
}
break;
......@@ -181,7 +181,7 @@ int main(int argc, char** argv)
{
// cout<<"(main):received option --oinfo='"<<optarg<<"'"<<endl;
uniset_init(argc,argv,conffile);
UniversalInterface ui(conf);
UInterface ui(conf);
return oinfo(optarg,ui);
}
break;
......@@ -190,7 +190,7 @@ int main(int argc, char** argv)
{
// cout<<"(main):received option --exist"<<endl;
uniset_init(argc,argv,conffile);
UniversalInterface ui(conf);
UInterface ui(conf);
Command cmd=Exist;
ObjectRepository* rep = new ObjectRepository(conf);
......@@ -206,8 +206,8 @@ int main(int argc, char** argv)
{
// cout<<"(main):received option --start"<<endl;
uniset_init(argc,argv,conffile);
UniversalInterface ui(conf);
UInterface ui(conf);
Command cmd=StartUp;
ObjectRepository* rep = new ObjectRepository(conf);
commandToAll(conf->getServicesSection(), rep, (Command)cmd);
......@@ -220,7 +220,7 @@ int main(int argc, char** argv)
case 'r': //--configure
{
uniset_init(argc,argv,conffile);
UniversalInterface ui(conf);
UInterface ui(conf);
return configure(optarg,ui);
}
break;
......@@ -229,9 +229,9 @@ int main(int argc, char** argv)
{
// cout<<"(main):received option --finish"<<endl;
uniset_init(argc,argv,conffile);
UniversalInterface ui(conf);
Command cmd=Finish;
UInterface ui(conf);
Command cmd=Finish;
ObjectRepository* rep = new ObjectRepository(conf);
commandToAll(conf->getServicesSection(), rep, (Command)cmd);
commandToAll(conf->getControllersSection(), rep, (Command)cmd);
......@@ -244,7 +244,7 @@ int main(int argc, char** argv)
case 'l': //--logrotate
{
uniset_init(argc,argv,conffile);
UniversalInterface ui(conf);
UInterface ui(conf);
return logRotate(optarg, ui);
}
break;
......@@ -253,7 +253,7 @@ int main(int argc, char** argv)
{
// cout<<"(main):received option --getCalibrate='"<<optarg<<"'"<<endl;
uniset_init(argc,argv,conffile);
UniversalInterface ui(conf);
UInterface ui(conf);
return getCalibrate(optarg, ui);
}
break;
......@@ -262,7 +262,7 @@ int main(int argc, char** argv)
{
// cout<<"(main):received option --foldUp"<<endl;
uniset_init(argc,argv,conffile);
UniversalInterface ui(conf);
UInterface ui(conf);
Command cmd=FoldUp;
ObjectRepository* rep = new ObjectRepository(conf);
......@@ -327,7 +327,7 @@ static bool commandToAll(const string& section, ObjectRepository *rep, Command c
return false;
}
ObjectsManager_i_var proc;
UniSetManager_i_var proc;
UniSetObject_i_var obj;
string fullName;
ListObjectName::const_iterator li;
......@@ -455,7 +455,7 @@ int omap()
}
// --------------------------------------------------------------------------------------
int setValue( const string& args, UniversalInterface &ui, Configuration* conf )
int setValue( const string& args, UInterface &ui, Configuration* conf )
{
int err = 0;
......@@ -501,7 +501,7 @@ int setValue( const string& args, UniversalInterface &ui, Configuration* conf )
}
// --------------------------------------------------------------------------------------
int getValue( const string& args, UniversalInterface &ui, Configuration* conf )
int getValue( const string& args, UInterface &ui, Configuration* conf )
{
int err = 0;
......@@ -545,7 +545,7 @@ int getValue( const string& args, UniversalInterface &ui, Configuration* conf )
return err;
}
// --------------------------------------------------------------------------------------
int getCalibrate( const std::string& args, UniversalInterface &ui )
int getCalibrate( const std::string& args, UInterface &ui )
{
int err = 0;
typedef std::list<UniSetTypes::ParamSInfo> SList;
......@@ -575,7 +575,7 @@ int getCalibrate( const std::string& args, UniversalInterface &ui )
}
// --------------------------------------------------------------------------------------
int getRawValue( const std::string& args, UniversalInterface &ui )
int getRawValue( const std::string& args, UInterface &ui )
{
int err = 0;
typedef std::list<UniSetTypes::ParamSInfo> SList;
......@@ -602,7 +602,7 @@ int getRawValue( const std::string& args, UniversalInterface &ui )
}
// --------------------------------------------------------------------------------------
int logRotate( const string& arg, UniversalInterface &ui )
int logRotate( const string& arg, UInterface &ui )
{
// посылка всем
if( arg.empty() || (arg.c_str())[0]!='-' )
......@@ -631,7 +631,7 @@ int logRotate( const string& arg, UniversalInterface &ui )
}
// --------------------------------------------------------------------------------------
int configure( const string& arg, UniversalInterface &ui )
int configure( const string& arg, UInterface &ui )
{
// посылка всем
if( arg.empty() || (arg.c_str())[0]!='-' )
......@@ -659,7 +659,7 @@ int configure( const string& arg, UniversalInterface &ui )
}
// --------------------------------------------------------------------------------------
int oinfo( const string& arg, UniversalInterface &ui )
int oinfo( const string& arg, UInterface &ui )
{
UniSetTypes::ObjectId oid(uni_atoi(arg));
if( oid==0 )
......
#include "Configuration.h"
#include "NullController.h"
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "Debug.h"
#include "PassiveTimer.h"
// --------------------------------------------------------------------------
......@@ -71,7 +71,7 @@ int main(int argc, char** argv)
bool dbDumping = conf->getArgInt("--dbDumping");
NullController nc(ID,askfile,s_field,s_fvalue,c_field,c_fvalue,dbDumping);
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(&nc));
act.run(false);
return 0;
......
#include <iostream>
#include "Exceptions.h"
#include "UniversalInterface.h"
#include "UInterface.h"
// -----------------------------------------------------------------------------
using namespace std;
using namespace UniSetTypes;
......@@ -37,7 +37,7 @@ int main( int argc, char **argv )
// -------------------------------------
uniset_init(argc, argv, "configure.xml" );
UniversalInterface ui;
UInterface ui;
string sid(conf->getArgParam("--sid"));
if( sid.empty() )
......
#include <iostream>
#include <string>
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "Configuration.h"
#include "SMonitor.h"
// -----------------------------------------------------------------------------
......@@ -33,7 +33,7 @@ int main( int argc, const char **argv )
return 0;
}
ObjectsActivator act;
UniSetActivator act;
SMonitor tp(ID);
act.addObject(&tp);
......
......@@ -23,7 +23,7 @@ int main(int argc, const char **argv)
uniset_init(argc,argv,"configure.xml");
/*
UniversalInterface ui;
UInterface ui;
IDList lst;
lst.add(1);
lst.add(2);
......
#include <sstream>
#include <ObjectsActivator.h>
#include <UniSetActivator.h>
#include "Skel.h"
// -----------------------------------------------------------------------------
using namespace UniSetTypes;
......@@ -17,7 +17,7 @@ int main( int argc, const char **argv )
ulog.logFile( logname.c_str() );
// conf->initDebug(dlog,"dlog");
ObjectsActivator act;
UniSetActivator act;
xmlNode* cnode = conf->getNode("Skel");
if( cnode == NULL )
{
......
......@@ -355,6 +355,10 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname
- remove deprecated interfaces (Storages,CycleStorage,TableStorage,TextIndex,..)
- rename unideb --> ulog
- DebugStream refactoring (add new function)
- UniversalInterface --> UInterface
- ObjectsManager --> UniSetManager
- ObjectsActitvator --> UniSetActivator
* Tue Dec 10 2013 Pavel Vainerman <pv@altlinux.ru> 1.7-alt3
- add RRDServer
......
#include "Configuration.h"
#include "DBServer_MySQL.h"
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "Debug.h"
// --------------------------------------------------------------------------
using namespace UniSetTypes;
......@@ -52,7 +52,7 @@ int main(int argc, char** argv)
}
DBServer_MySQL dbs(ID);
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(&dbs));
act.run(false);
}
......
#include "Configuration.h"
#include "DBServer_SQLite.h"
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "Debug.h"
// --------------------------------------------------------------------------
using namespace UniSetTypes;
......@@ -52,7 +52,7 @@ int main(int argc, char** argv)
}
DBServer_SQLite dbs(ID);
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(&dbs));
act.run(false);
}
......
......@@ -330,7 +330,7 @@ class IOControl:
std::string s_fvalue;
SMInterface* shm;
UniversalInterface ui;
UInterface ui;
UniSetTypes::ObjectId myid;
std::string prefix;
......
#include <string>
#include "Debug.h"
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "Configuration.h"
#include "IOControl.h"
#include "Extensions.h"
......@@ -52,7 +52,7 @@ int main(int argc, const char **argv)
return 1;
}
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(ic));
SystemMessage sm(SystemMessage::StartUp);
......
......@@ -87,7 +87,7 @@
// --------------------------------------------------------------------------
#include <map>
#include "UniSetTypes.h"
#include "UniversalInterface.h"
#include "UInterface.h"
#include "Element.h"
#include "Schema.h"
// --------------------------------------------------------------------------
......@@ -131,7 +131,7 @@ class LProcessor
OUTList extOuts;
SchemaXML sch;
UniversalInterface ui;
UInterface ui;
int sleepTime;
int smReadyTimeout; /*!< время ожидания готовности SM */
......
......@@ -6,7 +6,7 @@
#include "UniSetObject_LT.h"
#include "Extensions.h"
#include "SharedMemory.h"
#include "UniversalInterface.h"
#include "UInterface.h"
#include "SMInterface.h"
#include "LProcessor.h"
// --------------------------------------------------------------------------
......
#include <iostream>
#include "Configuration.h"
#include "Extensions.h"
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "PassiveLProcessor.h"
// -----------------------------------------------------------------------------
......@@ -70,7 +70,7 @@ int main(int argc, const char **argv)
PassiveLProcessor plc(schema,ID,shmID);
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(&plc));
SystemMessage sm(SystemMessage::StartUp);
......
......@@ -3,7 +3,7 @@
#include "MBTCPMaster.h"
#include "Configuration.h"
#include "Debug.h"
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "Extensions.h"
// -----------------------------------------------------------------------------
using namespace std;
......@@ -59,7 +59,7 @@ int main( int argc, const char** argv )
return 1;
}
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(mb));
SystemMessage sm(SystemMessage::StartUp);
......
......@@ -3,7 +3,7 @@
#include "MBTCPMultiMaster.h"
#include "Configuration.h"
#include "Debug.h"
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "Extensions.h"
// -----------------------------------------------------------------------------
using namespace std;
......@@ -59,7 +59,7 @@ int main( int argc, const char** argv )
return 1;
}
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(mb));
SystemMessage sm(SystemMessage::StartUp);
......
#include <sys/wait.h>
#include <sstream>
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "Extensions.h"
#include "RTUExchange.h"
// -----------------------------------------------------------------------------
......@@ -57,7 +57,7 @@ int main( int argc, char** argv )
return 1;
}
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(rs));
SystemMessage sm(SystemMessage::StartUp);
......
......@@ -6,7 +6,7 @@
#include "MBSlave.h"
#include "Configuration.h"
#include "Debug.h"
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "Extensions.h"
// --------------------------------------------------------------------------
......@@ -64,7 +64,7 @@ int main(int argc, const char **argv)
return 1;
}
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(s));
SystemMessage sm(SystemMessage::StartUp);
act.broadcast( sm.transport_msg() );
......
......@@ -2,7 +2,7 @@
#include "RRDServer.h"
#include "Configuration.h"
#include "Debug.h"
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "Extensions.h"
// -----------------------------------------------------------------------------
using namespace std;
......@@ -58,7 +58,7 @@ int main( int argc, const char** argv )
return 1;
}
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(db));
SystemMessage sm(SystemMessage::StartUp);
......
......@@ -2,7 +2,7 @@
#include "SMDBServer.h"
#include "Configuration.h"
#include "Debug.h"
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "Extensions.h"
// -----------------------------------------------------------------------------
using namespace std;
......@@ -58,7 +58,7 @@ int main( int argc, const char** argv )
return 1;
}
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(db));
SystemMessage sm(SystemMessage::StartUp);
......
......@@ -19,7 +19,7 @@ class SMViewer:
private:
SMInterface* shm;
UniversalInterface ui;
UInterface ui;
};
// --------------------------------------------------------------------------
#endif
......
#include <string>
#include "Debug.h"
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "SharedMemory.h"
#include "Extensions.h"
// --------------------------------------------------------------------------
......@@ -32,7 +32,7 @@ int main(int argc, const char **argv)
if( !shm )
return 1;
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(shm));
SystemMessage sm(SystemMessage::StartUp);
......
......@@ -4,7 +4,7 @@
#include <error.h>
#include <errno.h>
#include <Debug.h>
#include <ObjectsActivator.h>
#include <UniSetActivator.h>
#include <ThreadCreator.h>
#include "Extensions.h"
#include "RTUExchange.h"
......@@ -55,14 +55,14 @@ int main( int argc, const char **argv )
ulog.logFile( logname );
conf->initDebug(UniSetExtensions::dlog,"dlog");
ObjectsActivator act;
UniSetActivator act;
// ------------ SharedMemory ----------------
SharedMemory* shm = SharedMemory::init_smemory(argc,argv);
if( shm == NULL )
return 1;
act.addManager(static_cast<class ObjectsManager*>(shm));
act.addManager(static_cast<class UniSetManager*>(shm));
// ------------ IOControl ----------------
std::list< ThreadCreator<IOControl>* > lst_iothr;
for( int i=0; i<MaxAddNum; i++ )
......
#include <sstream>
#include <sys/wait.h>
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "Extensions.h"
#include "UNetExchange.h"
// -----------------------------------------------------------------------------
......@@ -56,7 +56,7 @@ int main( int argc, const char** argv )
return 1;
}
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(unet));
SystemMessage sm(SystemMessage::StartUp);
......
#include <sys/wait.h>
#include <string>
#include "Debug.h"
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "UniExchange.h"
#include "Extensions.h"
// --------------------------------------------------------------------------
......@@ -46,7 +46,7 @@ int main(int argc, const char **argv)
if( !shm )
return 1;
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(shm));
SystemMessage sm(SystemMessage::StartUp);
......
......@@ -6,12 +6,12 @@
#include <string>
#include "UniSetTypes.h"
#include "IONotifyController.h"
#include "UniversalInterface.h"
#include "UInterface.h"
class SMInterface
{
public:
SMInterface( UniSetTypes::ObjectId _shmID, UniversalInterface* ui,
SMInterface( UniSetTypes::ObjectId _shmID, UInterface* ui,
UniSetTypes::ObjectId myid, IONotifyController* ic=0 );
~SMInterface();
......@@ -55,7 +55,7 @@ class SMInterface
protected:
IONotifyController* ic;
UniversalInterface* ui;
UInterface* ui;
CORBA::Object_var oref;
UniSetTypes::ObjectId shmID;
UniSetTypes::ObjectId myid;
......
......@@ -82,7 +82,7 @@ using namespace UniSetTypes;
} \
// --------------------------------------------------------------------------
SMInterface::SMInterface( UniSetTypes::ObjectId _shmID, UniversalInterface* _ui,
SMInterface::SMInterface( UniSetTypes::ObjectId _shmID, UInterface* _ui,
UniSetTypes::ObjectId _myid, IONotifyController* ic ):
ic(ic),
ui(_ui),
......
......@@ -38,8 +38,8 @@ void TestProc::sysCommand( UniSetTypes::SystemMessage* sm )
// -----------------------------------------------------------------------------
void TestProc::sensorInfo( SensorMessage *sm )
{
dlog[Debug::LEVEL1] << myname << "(sensorInfo): id=" << sm->id << " val=" << sm->value
<< " " << UniversalInterface::timeToString(sm->sm_tv_sec,":")
dlog[Debug::LEVEL1] << myname << "(sensorInfo): id=" << sm->id << " val=" << sm->value
<< " " << UInterface::timeToString(sm->sm_tv_sec,":")
<< "(" << setw(6) << sm->sm_tv_usec << "): "
<< endl;
......
#include <string>
#include "Debug.h"
#include "ObjectsActivator.h"
#include "UniSetActivator.h"
#include "SharedMemory.h"
#include "Extensions.h"
#include "TestProc.h"
......@@ -36,7 +36,7 @@ int main(int argc, const char **argv)
TestProc tp(conf->getObjectID("TestProc1"));
tp.init_dlog(dlog);
ObjectsActivator act;
UniSetActivator act;
act.addObject(static_cast<class UniSetObject*>(shm));
act.addObject(static_cast<class UniSetObject*>(&tp));
......
......@@ -37,7 +37,7 @@
\subsection subDBS_idea Сценарий работы
На узле, где ведётся БД запускается один экземпляр сервиса. Клиенты могут получить доступ, несколькими способами:
- через NameService
- при помощи UniversalInterface::send()
- при помощи UInterface::send()
Сервис является системным, поэтому его идентификатор можно получить при помощи
UniSetTypes::Configuration::getDBServer() объекта UniSetTypes::conf.
......
......@@ -30,13 +30,13 @@
#include <sigc++/sigc++.h>
#include "IOController_i.hh"
#include "UniSetTypes.h"
#include "ObjectsManager.h"
#include "UniSetManager.h"
#include "Configuration.h"
#include "Mutex.h"
//---------------------------------------------------------------------------
/*! Реализация интерфейса IOController-а */
class IOController:
public ObjectsManager,
public UniSetManager,
public POA_IOController_i
{
public:
......
......@@ -45,7 +45,7 @@ class ProxyManager:
void attachObject( PassiveObject* po, UniSetTypes::ObjectId id );
void detachObject( UniSetTypes::ObjectId id );
UniversalInterface* uin;
UInterface* uin;
protected:
ProxyManager();
......
......@@ -28,7 +28,7 @@
#include <string>
#include "IOController_i.hh"
#include "ObjectRepository.h"
#include "UniversalInterface.h"
#include "UInterface.h"
#include "PassiveTimer.h"
//--------------------------------------------------------------------------------
class SViewer
......@@ -57,8 +57,8 @@ class SViewer
private:
ObjectRepository rep;
UniversalInterface::CacheOfResolve cache;
UniversalInterface ui;
UInterface::CacheOfResolve cache;
UInterface ui;
bool isShort;
};
......
......@@ -22,8 +22,8 @@
* \author Pavel Vainerman
*/
// --------------------------------------------------------------------------
#ifndef UniversalInterface_H_
#define UniversalInterface_H_
#ifndef UInterface_H_
#define UInterface_H_
// ---------------------------------------------------------------------------
#include <string>
#include <sstream>
......@@ -40,7 +40,7 @@
// -----------------------------------------------------------------------------------------
/*! \namespace UniversalIO
* Пространство имен содержащее классы, функции и т.п. для работы с вводом/выводом
* Пространство имен содержащее классы, функции и т.п. для работы с вводом/выводом
*/
namespace UniversalIO
{
......@@ -52,27 +52,27 @@ namespace UniversalIO
#define IO_THROW_EXCEPTIONS UniSetTypes::TimeOut,UniSetTypes::IOBadParam,UniSetTypes::ORepFailed
// -----------------------------------------------------------------------------------------
/*!
* \class UniversalInterface
* \class UInterface
* ... а здесь идет кратенькое описание... (коротенько минут на 40!...)
* Для увеличения производительности в функции встроен cache обращений...
*
* См. также \ref UniversalIOControllerPage
*/
class UniversalInterface
*/
class UInterface
{
public:
UniversalInterface( UniSetTypes::ObjectId backid, CORBA::ORB_var orb=NULL, UniSetTypes::ObjectIndex* oind=NULL );
UniversalInterface( UniSetTypes::Configuration* uconf=UniSetTypes::conf );
~UniversalInterface();
UInterface( UniSetTypes::ObjectId backid, CORBA::ORB_var orb=NULL, UniSetTypes::ObjectIndex* oind=NULL );
UInterface( UniSetTypes::Configuration* uconf=UniSetTypes::conf );
~UInterface();
inline UniSetTypes::ObjectIndex* getObjectIndex() { return oind; }
inline UniSetTypes::Configuration* getConf() { return uconf; }
// -------- Функции работы с группой датчиков -----------
// Группа должна принадлежать одному процессу!
//! Получение состояния для списка указанных датчиков
IOController_i::SensorInfoSeq_var getSensorSeq( UniSetTypes::IDList& lst );
......@@ -87,7 +87,7 @@ class UniversalInterface
//! Получение состояния датчика
long getValue ( UniSetTypes::ObjectId id, UniSetTypes::ObjectId node )throw(IO_THROW_EXCEPTIONS);
long getValue ( UniSetTypes::ObjectId id );
//! Выставление состояния датчика
void setValue ( UniSetTypes::ObjectId id, long value, UniSetTypes::ObjectId node ) throw(IO_THROW_EXCEPTIONS);
void setValue ( UniSetTypes::ObjectId id, long value );
......@@ -100,7 +100,7 @@ class UniversalInterface
CORBA::Long getRawValue( const IOController_i::SensorInfo& si );
//! калибровка
void calibrate(const IOController_i::SensorInfo& si,
void calibrate(const IOController_i::SensorInfo& si,
const IOController_i::CalibrateInfo& ci,
UniSetTypes::ObjectId adminId = UniSetTypes::DefaultObjectId );
......@@ -110,12 +110,12 @@ class UniversalInterface
//! Заказ информации об изменении дискретного датчика
void askThreshold( UniSetTypes::ObjectId sensorId, UniSetTypes::ThresholdId tid,
UniversalIO::UIOCommand cmd,
CORBA::Long lowLimit=0, CORBA::Long hiLimit=0, CORBA::Long sensibility=0,
CORBA::Long lowLimit=0, CORBA::Long hiLimit=0, CORBA::Long sensibility=0,
UniSetTypes::ObjectId backid = UniSetTypes::DefaultObjectId );
void askRemoteThreshold( UniSetTypes::ObjectId sensorId, UniSetTypes::ObjectId node,
UniSetTypes::ThresholdId thresholdId, UniversalIO::UIOCommand cmd,
CORBA::Long lowLimit=0, CORBA::Long hiLimit=0, CORBA::Long sensibility=0,
CORBA::Long lowLimit=0, CORBA::Long hiLimit=0, CORBA::Long sensibility=0,
UniSetTypes::ObjectId backid = UniSetTypes::DefaultObjectId );
//! Универсальный заказ информации об изменении датчика
......@@ -123,7 +123,7 @@ class UniversalInterface
UniSetTypes::ObjectId backid = UniSetTypes::DefaultObjectId );
void askRemoteSensor( UniSetTypes::ObjectId id, UniversalIO::UIOCommand cmd, UniSetTypes::ObjectId node,
UniSetTypes::ObjectId backid = UniSetTypes::DefaultObjectId )throw(IO_THROW_EXCEPTIONS);
UniSetTypes::ObjectId backid = UniSetTypes::DefaultObjectId )throw(IO_THROW_EXCEPTIONS);
UniversalIO::IOType getIOType(UniSetTypes::ObjectId id, UniSetTypes::ObjectId node) throw(IO_THROW_EXCEPTIONS);
UniversalIO::IOType getIOType(UniSetTypes::ObjectId id);
......@@ -135,7 +135,7 @@ class UniversalInterface
UniversalIO::IOType getConfIOType( UniSetTypes::ObjectId id );
IOController_i::ShortIOInfo getChangedTime( UniSetTypes::ObjectId id, UniSetTypes::ObjectId node );
IOController_i::ShortMapSeq* getSensors( UniSetTypes::ObjectId id,
IOController_i::ShortMapSeq* getSensors( UniSetTypes::ObjectId id,
UniSetTypes::ObjectId node=UniSetTypes::conf->getLocalNode() );
// /*! регистрация объекта в репозитории */
......@@ -161,7 +161,7 @@ class UniversalInterface
UniSetTypes::ObjectPtr resolve( UniSetTypes::ObjectId id, UniSetTypes::ObjectId nodeName, int timeoutMS=UniversalIO::defaultTimeOut)
throw(UniSetTypes::ResolveNameError, UniSetTypes::TimeOut);
bool isExist( UniSetTypes::ObjectId id );
bool isExist( UniSetTypes::ObjectId id, UniSetTypes::ObjectId node );
......@@ -226,11 +226,11 @@ class UniversalInterface
CacheOfResolve(unsigned int maxsize, int cleantime):
MaxSize(maxsize), CleanTime(cleantime){};
~CacheOfResolve(){};
UniSetTypes::ObjectPtr resolve( UniSetTypes::ObjectId id, UniSetTypes::ObjectId node )throw(UniSetTypes::NameNotFound);
void cache(UniSetTypes::ObjectId id, UniSetTypes::ObjectId node, UniSetTypes::ObjectVar ptr);
void erase(UniSetTypes::ObjectId id, UniSetTypes::ObjectId node);
inline void setMaxSize( unsigned int ms )
{
MaxSize = ms;
......@@ -242,14 +242,14 @@ class UniversalInterface
CacheOfResolve(){};
private:
bool clean(); /*!< функция очистки кэш-а от старых ссылок */
inline void clear() /*!< удаление всей информации */
{
UniSetTypes::uniset_rwmutex_wrlock l(cmutex);
mcache.clear();
};
mcache.clear();
};
/*!
\todo можно добавить поле CleanTime для каждой ссылки отдельно...
*/
......@@ -261,12 +261,12 @@ class UniversalInterface
if(!tm)
timestamp = time(NULL);
}
Info():
ptr(NULL), timestamp(0){};
UniSetTypes::ObjectVar ptr;
time_t timestamp; // время последнего обращения
time_t timestamp; // время последнего обращения
bool operator<( const CacheOfResolve::Info& rhs ) const
{
......@@ -274,7 +274,7 @@ class UniversalInterface
}
};
typedef std::map<int, Info> CacheMap;
CacheMap mcache;
UniSetTypes::uniset_rwmutex cmutex;
......@@ -287,7 +287,7 @@ class UniversalInterface
typedef std::pair<int, Info> CacheItem;
// функция-объект для поиска устаревших(по времени) ссылок
struct OldRef_eq: public unary_function<CacheItem, bool>
{
{
OldRef_eq(time_t tm):tm(tm){}
bool operator()( const CacheItem& inf ) const
{
......@@ -295,12 +295,12 @@ class UniversalInterface
}
time_t tm;
};
*/
*/
};
void initBackId( UniSetTypes::ObjectId backid );
protected:
std::string set_err(const std::string& pre, UniSetTypes::ObjectId id, UniSetTypes::ObjectId node);
std::string set_err(const std::string& pre, UniSetTypes::ObjectId id, UniSetTypes::ObjectId node);
private:
void init();
......
......@@ -21,49 +21,49 @@
* \brief Активатор объектов
* \author Pavel Vainerman
*/
// --------------------------------------------------------------------------
#ifndef ObjectsActivator_H_
#define ObjectsActivator_H_
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
#ifndef UniSetActivator_H_
#define UniSetActivator_H_
// --------------------------------------------------------------------------
#include <omniORB4/CORBA.h>
#include "UniSetTypes.h"
#include "UniSetObject.h"
#include "ObjectsManager.h"
#include "UniSetManager.h"
#include "ThreadCreator.h"
//#include "OmniThreadCreator.h"
//----------------------------------------------------------------------------------------
/*! \class ObjectsActivator
* Создает POA менеджер и регистрирует в нем объекты.
* Для обработки CORBA-запросов создается поток или передаются ресурсы
/*! \class UniSetActivator
* Создает POA менеджер и регистрирует в нем объекты.
* Для обработки CORBA-запросов создается поток или передаются ресурсы
* главного потока см. void activate(bool thread)
*
* Активатор в свою очередь сам является менеджером(и объектом) и обладает всеми его свойствами
*
* Активатор в свою очередь сам является менеджером(и объектом) и обладает всеми его свойствами
*
* \todo Разобраться со всякими oaDestroy, stop, oakill и сделать одну надежную завершающую функцию.
*/
class ObjectsActivator:
public ObjectsManager
*/
class UniSetActivator:
public UniSetManager
{
public:
ObjectsActivator();
ObjectsActivator( UniSetTypes::ObjectId id );
virtual ~ObjectsActivator();
UniSetActivator();
UniSetActivator( UniSetTypes::ObjectId id );
virtual ~UniSetActivator();
virtual void run(bool thread);
virtual void stop();
virtual void oaDestroy(int signo=0);
void waitDestroy();
inline void oakill(int signo){ raise(signo);}
virtual UniSetTypes::ObjectType getType(){ return UniSetTypes::getObjectType("ObjectsActivator"); }
virtual UniSetTypes::ObjectType getType(){ return UniSetTypes::getObjectType("UniSetActivator"); }
protected:
/*! Команды доступные при заказе сигналов
/*! Команды доступные при заказе сигналов
* см. askSignal()
*/
enum AskSigCommand {
......@@ -74,12 +74,12 @@ class ObjectsActivator:
/*! заказ на обработку сигнала signo
* Для обработки предназначена функция signal().
* \warning Сообщение о приходе сигналов SITERM, SIGINT, SIGABRT приходит
* вне зависимости от заказа. От этих сообщений нельзя отказаться...
* вне зависимости от заказа. От этих сообщений нельзя отказаться...
* \warning Заказ других сигналов пока не работает..
* \warning функция временно недоступна (private). Ведуться работы...
* \todo сделать возможность заказа других сигналов
*/
// void askSignal(int signo, AskSigCommand cmd=Ask);
// void askSignal(int signo, AskSigCommand cmd=Ask);
virtual void work();
......@@ -88,12 +88,12 @@ class ObjectsActivator:
return orb;
}
virtual void processingMessage( UniSetTypes::VoidMessage *msg );
virtual void processingMessage( UniSetTypes::VoidMessage *msg );
virtual void sysCommand( UniSetTypes::SystemMessage *sm );
private:
// static void processingSignal(int signo);
// static void processingSignal(int signo);
static void terminated(int signo);
static void finishterm(int signo);
static void normalexit();
......@@ -102,12 +102,12 @@ class ObjectsActivator:
void term( int signo );
void init();
friend class ThreadCreator<ObjectsActivator>;
ThreadCreator<ObjectsActivator> *orbthr;
friend class ThreadCreator<UniSetActivator>;
ThreadCreator<UniSetActivator> *orbthr;
CORBA::ORB_var orb;
bool omDestroy;
bool omDestroy;
bool sig;
pid_t thpid; // pid orb потока
......@@ -115,7 +115,7 @@ class ObjectsActivator:
{
pid_t msgpid; // pid порожденого потока обработки сообщений
};
struct OInfo:
public Info
{
......@@ -125,22 +125,22 @@ class ObjectsActivator:
struct MInfo:
public Info
{
ObjectsManager* mnr;
UniSetManager* mnr;
};
std::list<OInfo> lstOInfo;
std::list<MInfo> lstMInfo;
void getinfo();
void getinfo();
};
/*
template<class TClass>
int ObjectsActivator::attach(TClass* p, void(TClass:: *f)(void*) )
int UniSetActivator::attach(TClass* p, void(TClass:: *f)(void*) )
{
if( next >= MAX_CHILD_THREAD )
return -1;
callpull[next] = new OmniThreadCreator<TClass>( p, f);
callpull[next] = new OmniThreadCreator<TClass>( p, f);
next++;
return 0;
}
......
......@@ -21,83 +21,83 @@
* \brief Реализация интерфейса менеджера объектов.
* \author Pavel Vainerman
*/
// --------------------------------------------------------------------------
#ifndef ObjectsManager_H_
#define ObjectsManager_H_
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
#ifndef UniSetManager_H_
#define UniSetManager_H_
// --------------------------------------------------------------------------
#include <omniORB4/CORBA.h>
#include "UniSetTypes.h"
#include "UniSetObject.h"
#include "ObjectsManager_i.hh"
#include "UniSetManager_i.hh"
//---------------------------------------------------------------------------
class ObjectsActivator;
class UniSetActivator;
class ObjectsManager;
typedef std::list<ObjectsManager*> ObjectsManagerList;
class UniSetManager;
typedef std::list<UniSetManager*> UniSetManagerList;
//---------------------------------------------------------------------------
/*! \class ObjectsManager
/*! \class UniSetManager
* \par
* Содержит в себе функции управления объектами. Их регистрации и т.п.
* Создается менеджер объектов, после чего вызывается initObjects()
* для инициализации объектов которыми управляет
* Создается менеджер объектов, после чего вызывается initObjects()
* для инициализации объектов которыми управляет
* данный менеджер...
* Менеджер в свою очередь сам является объектом и обладает всеми его свойствами
*
* Для пересылки сообщения всем подчиненным объектам используется
* функция ObjectsManager::broadcast(const TransportMessage& msg)
* Менеджер в свою очередь сам является объектом и обладает всеми его свойствами
*
* Для пересылки сообщения всем подчиненным объектам используется
* функция UniSetManager::broadcast(const TransportMessage& msg)
* \par
* У базового менеджера имеются базовые три функции см. ObjectsManager_i.
* \note Только при вызове функции ObjectsManager::broadcast() происходит
* У базового менеджера имеются базовые три функции см. UniSetManager_i.
* \note Только при вызове функции UniSetManager::broadcast() происходит
* формирование сообщения всем подчиненным объектам... Если команда проиходит
* при помощи push, то пересылки всем починённым объектам не происходит...
*
*
*/
class ObjectsManager:
*/
class UniSetManager:
public UniSetObject,
public POA_ObjectsManager_i
public POA_UniSetManager_i
{
public:
ObjectsManager( UniSetTypes::ObjectId id);
ObjectsManager( const std::string& name, const std::string& section );
virtual ~ObjectsManager();
UniSetManager( UniSetTypes::ObjectId id);
UniSetManager( const std::string& name, const std::string& section );
virtual ~UniSetManager();
virtual UniSetTypes::ObjectType getType(){ return UniSetTypes::getObjectType("ObjectsManager"); }
virtual UniSetTypes::ObjectType getType(){ return UniSetTypes::getObjectType("UniSetManager"); }
// ------ функции объявленные в интерфейсе(IDL) ------
virtual void broadcast(const UniSetTypes::TransportMessage& msg);
virtual UniSetTypes::SimpleInfoSeq* getObjectsInfo( CORBA::Long MaxLength=300 );
// --------------------------
void initPOA(ObjectsManager* rmngr);
void initPOA(UniSetManager* rmngr);
virtual bool addObject(UniSetObject *obj);
virtual bool removeObject(UniSetObject *obj);
virtual bool addManager( ObjectsManager *mngr );
virtual bool removeManager( ObjectsManager *mngr );
virtual bool addManager( UniSetManager *mngr );
virtual bool removeManager( UniSetManager *mngr );
/*! Получение доступа к подчиненному менеджеру по идентификатору
* \return объект ненайден будет возвращен 0.
*/
const ObjectsManager* itemM(const UniSetTypes::ObjectId id);
*/
const UniSetManager* itemM(const UniSetTypes::ObjectId id);
/*! Получение доступа к подчиненному объекту по идентификатору
* \return объект ненайден будет возвращен 0.
*/
*/
const UniSetObject* itemO( const UniSetTypes::ObjectId id );
// Функции для аботы со списками подчиненных объектов
inline ObjectsManagerList::const_iterator beginMList()
inline UniSetManagerList::const_iterator beginMList()
{
return mlist.begin();
}
inline ObjectsManagerList::const_iterator endMList()
inline UniSetManagerList::const_iterator endMList()
{
return mlist.end();
}
......@@ -120,7 +120,7 @@ class ObjectsManager:
protected:
ObjectsManager();
UniSetManager();
enum OManagerCommand{deactiv, activ, initial, term};
......@@ -131,26 +131,26 @@ class ObjectsManager:
virtual void sigterm( int signo );
//! \note Переопределяя не забывайте вызвать базовую
//! \note Переопределяя не забывайте вызвать базовую
virtual bool activateObject();
//! \note Переопределяя не забывайте вызвать базовую
//! \note Переопределяя не забывайте вызвать базовую
virtual bool disactivateObject();
typedef ObjectsManagerList::iterator MListIterator;
typedef UniSetManagerList::iterator MListIterator;
int getObjectsInfo( ObjectsManager* mngr, UniSetTypes::SimpleInfoSeq* seq,
int getObjectsInfo( UniSetManager* mngr, UniSetTypes::SimpleInfoSeq* seq,
int begin, const long uplimit );
PortableServer::POA_var poa;
PortableServer::POA_var poa;
PortableServer::POAManager_var pman;
private:
friend class ObjectsActivator;
friend class UniSetActivator;
int sig;
ObjectsManagerList mlist;
UniSetManagerList mlist;
ObjectsList olist;
UniSetTypes::uniset_rwmutex olistMutex;
......
......@@ -21,24 +21,24 @@
* \author Pavel Vainerman
*/
//---------------------------------------------------------------------------
#ifndef ObjectsManager_LT_H_
#define ObjectsManager_LT_H_
#ifndef UniSetManager_LT_H_
#define UniSetManager_LT_H_
//--------------------------------------------------------------------------
#include "UniSetTypes.h"
#include "ObjectsManager.h"
#include "UniSetManager.h"
#include "LT_Object.h"
//---------------------------------------------------------------------------
/*!
Реализация базового класса с использованием локальных таймеров
*/
class ObjectsManager_LT:
public ObjectsManager
*/
class UniSetManager_LT:
public UniSetManager
{
public:
ObjectsManager_LT( UniSetTypes::ObjectId id );
ObjectsManager_LT();
virtual ~ObjectsManager_LT();
UniSetManager_LT( UniSetTypes::ObjectId id );
UniSetManager_LT();
virtual ~UniSetManager_LT();
protected:
......
......@@ -37,15 +37,15 @@
#include "MessageType.h"
#include "PassiveTimer.h"
#include "Exceptions.h"
#include "UniversalInterface.h"
#include "UInterface.h"
#include "UniSetObject_i.hh"
#include "ThreadCreator.h"
//---------------------------------------------------------------------------
//#include <omnithread.h>
//---------------------------------------------------------------------------
class ObjectsActivator;
class ObjectsManager;
class UniSetActivator;
class UniSetManager;
//---------------------------------------------------------------------------
class UniSetObject;
......@@ -101,7 +101,7 @@ class UniSetObject:
/*! прервать ожидание сообщений */
void termWaiting();
UniversalInterface ui; /*!< универсальный интерфейс для работы с другими процессами */
UInterface ui; /*!< универсальный интерфейс для работы с другими процессами */
std::string myname;
std::string section;
......@@ -183,14 +183,14 @@ class UniSetObject:
void setActive( bool set );
UniSetTypes::VoidMessage msg;
ObjectsManager* mymngr;
UniSetManager* mymngr;
void setThreadPriority( int p );
private:
friend class ObjectsManager;
friend class ObjectsActivator;
friend class UniSetManager;
friend class UniSetActivator;
friend class ThreadCreator<UniSetObject>;
inline pid_t getMsgPID()
{
......@@ -200,7 +200,7 @@ class UniSetObject:
/*! функция потока */
void work();
//! Инициализация параметров объекта
bool init(ObjectsManager* om);
bool init(UniSetManager* om);
//! Прямая деактивизация объекта
bool disactivate();
//! Непосредственная активизация объекта
......
......@@ -4,12 +4,12 @@ python_SCRIPTS = pyUniSet.py pyUConnector.py pyUModbus.py pyUExceptions.py
pyexec_LTLIBRARIES = _pyUConnector.la _pyUModbus.la _pyUExceptions.la _pyUniSet.la
_pyUniSet_la_SOURCES = UInterface.cc UInterface_wrap.cxx
_pyUniSet_la_CXXFLAGS = $(UNISET_CFLAGS) $(PYTHON_CFLAGS)
_pyUniSet_la_SOURCES = pyUInterface.cc UInterface_wrap.cxx
_pyUniSet_la_CXXFLAGS = $(UNISET_CFLAGS) $(PYTHON_CFLAGS)
_pyUniSet_la_LDFLAGS = -module -avoid-version
_pyUniSet_la_LIBADD = $(UNISET_LIBS) $(PYTHON_LIBS)
UInterface_wrap.cxx: UInterface.i UInterface.h
UInterface_wrap.cxx: UInterface.i pyUInterface.h
swig -python -c++ -classic UInterface.i
_pyUConnector_la_SOURCES = UConnector.cc UConnector_wrap.cxx
......
......@@ -11,7 +11,7 @@ xmlfile(xfile)
try
{
conf = new UniSetTypes::Configuration(p->argc,p->argv,xmlfile);
ui = new UniversalInterface(conf);
ui = new UInterface(conf);
}
catch( UniSetTypes::Exception& ex )
{
......@@ -31,7 +31,7 @@ xmlfile(xfile)
try
{
conf = new UniSetTypes::Configuration(argc,argv,xmlfile);
ui = new UniversalInterface(conf);
ui = new UInterface(conf);
}
catch( UniSetTypes::Exception& ex )
{
......
......@@ -2,8 +2,8 @@
#define UConnector_H_
// --------------------------------------------------------------------------
#include <string>
#include <Configuration.h>
#include <UniversalInterface.h>
#include "Configuration.h"
#include "UInterface.h"
#include "UTypes.h"
#include "UExceptions.h"
// --------------------------------------------------------------------------
......@@ -30,7 +30,7 @@ class UConnector
private:
UniSetTypes::Configuration* conf;
UniversalInterface* ui;
UInterface* ui;
const char* xmlfile;
};
//---------------------------------------------------------------------------
......
......@@ -11,5 +11,4 @@
/* Для генерации классов и констант в Питоне */
%include "UTypes.h"
//%include "UExceptions.h"
%include "UConnector.h"
......@@ -6,10 +6,10 @@
%module pyUniSet
%{
#include "UInterface.h"
#include "pyUInterface.h"
%}
/* Для генерации классов и констант в Питоне */
%include "UInterface.h"
%include "pyUInterface.h"
%include "UTypes.h"
%include "UExceptions.h"
......@@ -3055,7 +3055,7 @@ namespace swig {
}
#include "UInterface.h"
#include "pyUInterface.h"
SWIGINTERN swig_type_info*
......@@ -3366,7 +3366,7 @@ SWIGINTERN PyObject *_wrap_uniset_init_params(PyObject *SWIGUNUSEDPARM(self), Py
}
arg2 = reinterpret_cast< char * >(buf2);
try {
UInterface::uniset_init_params(arg1,(char const *)arg2);
pyUInterface::uniset_init_params(arg1,(char const *)arg2);
}
catch(UException &_e) {
SWIG_Python_Raise(SWIG_NewPointerObj((new UException(static_cast< const UException& >(_e))),SWIGTYPE_p_UException,SWIG_POINTER_OWN), "UException", SWIGTYPE_p_UException); SWIG_fail;
......@@ -3414,7 +3414,7 @@ SWIGINTERN PyObject *_wrap_uniset_init(PyObject *SWIGUNUSEDPARM(self), PyObject
}
arg3 = reinterpret_cast< char * >(buf3);
try {
UInterface::uniset_init(arg1,arg2,(char const *)arg3);
pyUInterface::uniset_init(arg1,arg2,(char const *)arg3);
}
catch(UException &_e) {
SWIG_Python_Raise(SWIG_NewPointerObj((new UException(static_cast< const UException& >(_e))),SWIGTYPE_p_UException,SWIG_POINTER_OWN), "UException", SWIGTYPE_p_UException); SWIG_fail;
......@@ -3444,7 +3444,7 @@ SWIGINTERN PyObject *_wrap_getValue(PyObject *SWIGUNUSEDPARM(self), PyObject *ar
}
arg1 = static_cast< long >(val1);
try {
result = (long)UInterface::getValue(arg1);
result = (long)pyUInterface::getValue(arg1);
}
catch(UException &_e) {
SWIG_Python_Raise(SWIG_NewPointerObj((new UException(static_cast< const UException& >(_e))),SWIGTYPE_p_UException,SWIG_POINTER_OWN), "UException", SWIGTYPE_p_UException); SWIG_fail;
......@@ -3480,7 +3480,7 @@ SWIGINTERN PyObject *_wrap_setValue(PyObject *SWIGUNUSEDPARM(self), PyObject *ar
}
arg2 = static_cast< long >(val2);
try {
UInterface::setValue(arg1,arg2);
pyUInterface::setValue(arg1,arg2);
}
catch(UException &_e) {
SWIG_Python_Raise(SWIG_NewPointerObj((new UException(static_cast< const UException& >(_e))),SWIGTYPE_p_UException,SWIG_POINTER_OWN), "UException", SWIGTYPE_p_UException); SWIG_fail;
......@@ -3508,7 +3508,7 @@ SWIGINTERN PyObject *_wrap_getSensorID(PyObject *SWIGUNUSEDPARM(self), PyObject
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "getSensorID" "', argument " "1"" of type '" "char const *""'");
}
arg1 = reinterpret_cast< char * >(buf1);
result = (long)UInterface::getSensorID((char const *)arg1);
result = (long)pyUInterface::getSensorID((char const *)arg1);
resultobj = SWIG_From_long(static_cast< long >(result));
if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
return resultobj;
......@@ -3532,7 +3532,7 @@ SWIGINTERN PyObject *_wrap_getShortName(PyObject *SWIGUNUSEDPARM(self), PyObject
SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "getShortName" "', argument " "1"" of type '" "long""'");
}
arg1 = static_cast< long >(val1);
result = (char *)UInterface::getShortName(arg1);
result = (char *)pyUInterface::getShortName(arg1);
resultobj = SWIG_FromCharPtr((const char *)result);
return resultobj;
fail:
......@@ -3554,7 +3554,7 @@ SWIGINTERN PyObject *_wrap_getName(PyObject *SWIGUNUSEDPARM(self), PyObject *arg
SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "getName" "', argument " "1"" of type '" "long""'");
}
arg1 = static_cast< long >(val1);
result = (char *)UInterface::getName(arg1);
result = (char *)pyUInterface::getName(arg1);
resultobj = SWIG_FromCharPtr((const char *)result);
return resultobj;
fail:
......@@ -3576,7 +3576,7 @@ SWIGINTERN PyObject *_wrap_getTextName(PyObject *SWIGUNUSEDPARM(self), PyObject
SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "getTextName" "', argument " "1"" of type '" "long""'");
}
arg1 = static_cast< long >(val1);
result = (char *)UInterface::getTextName(arg1);
result = (char *)pyUInterface::getTextName(arg1);
resultobj = SWIG_FromCharPtr((const char *)result);
return resultobj;
fail:
......@@ -3589,7 +3589,7 @@ SWIGINTERN PyObject *_wrap_getConfFileName(PyObject *SWIGUNUSEDPARM(self), PyObj
char *result = 0 ;
if (!PyArg_ParseTuple(args,(char *)":getConfFileName")) SWIG_fail;
result = (char *)UInterface::getConfFileName();
result = (char *)pyUInterface::getConfFileName();
resultobj = SWIG_FromCharPtr((const char *)result);
return resultobj;
fail:
......
#ifndef UModbus_H_
#define UModbus_H_
// --------------------------------------------------------------------------
#include <Configuration.h>
#include <UniversalInterface.h>
#include <modbus/ModbusTCPMaster.h>
#include <modbus/ModbusTypes.h>
#include <extensions/VTypes.h>
#include <Debug.h>
// --------------------------------------------------------------------------
#include "Configuration.h"
#include "UInterface.h"
#include "modbus/ModbusTCPMaster.h"
#include "modbus/ModbusTypes.h"
#include "extensions/VTypes.h"
#include "Debug.h"
#include "UTypes.h"
#include "UExceptions.h"
// --------------------------------------------------------------------------
......
......@@ -12,4 +12,4 @@
/* Для генерации классов и констант в Питоне */
%include "UModbus.h"
%include "UTypes.h"
//%include "UExceptions.h"
%include "UExceptions.h"
#include <ostream>
#include <Exceptions.h>
#include <ORepHelpers.h>
#include <UniversalInterface.h>
#include <Configuration.h>
#include <UniSetTypes.h>
#include "Exceptions.h"
#include "ORepHelpers.h"
#include "UInterface.h"
#include "Configuration.h"
#include "UniSetTypes.h"
#include "pyUInterface.h"
//---------------------------------------------------------------------------
using namespace std;
//---------------------------------------------------------------------------
static UniversalInterface* ui=0;
static UInterface* ui=0;
//---------------------------------------------------------------------------
void UInterface::uniset_init_params( UTypes::Params* p, const char* xmlfile )throw(UException)
void pyUInterface::uniset_init_params( UTypes::Params* p, const char* xmlfile )throw(UException)
{
UInterface::uniset_init(p->argc,p->argv,xmlfile);
pyUInterface::uniset_init(p->argc,p->argv,xmlfile);
}
//---------------------------------------------------------------------------
void UInterface::uniset_init( int argc, char* argv[], const char* xmlfile )throw(UException)
void pyUInterface::uniset_init( int argc, char* argv[], const char* xmlfile )throw(UException)
{
try
{
UniSetTypes::uniset_init(argc,argv,xmlfile);
ui = new UniversalInterface();
ui = new UInterface();
return;
}
catch( UniSetTypes::Exception& ex )
......@@ -34,11 +34,11 @@ void UInterface::uniset_init( int argc, char* argv[], const char* xmlfile )throw
}
}
//---------------------------------------------------------------------------
long UInterface::getValue( long id )throw(UException)
long pyUInterface::getValue( long id )throw(UException)
{
if( !UniSetTypes::conf || !ui )
throw USysError();
UniversalIO::IOType t = UniSetTypes::conf->getIOType(id);
try
{
......@@ -75,11 +75,11 @@ long UInterface::getValue( long id )throw(UException)
throw UException("(getValue): unknown error");
}
//---------------------------------------------------------------------------
void UInterface::setValue( long id, long val )throw(UException)
void pyUInterface::setValue( long id, long val )throw(UException)
{
if( !UniSetTypes::conf || !ui )
throw USysError();
UniversalIO::IOType t = UniSetTypes::conf->getIOType(id);
try
{
......@@ -114,7 +114,7 @@ void UInterface::setValue( long id, long val )throw(UException)
}
}
//---------------------------------------------------------------------------
long UInterface::getSensorID( const char* name )
long pyUInterface::getSensorID( const char* name )
{
if( UniSetTypes::conf )
return UniSetTypes::conf->getSensorID(name);
......@@ -122,7 +122,7 @@ long UInterface::getSensorID( const char* name )
return -1;
}
//---------------------------------------------------------------------------
const char* UInterface::getName( long id )
const char* pyUInterface::getName( long id )
{
if( UniSetTypes::conf )
return UniSetTypes::conf->oind->getMapName(id).c_str();
......@@ -130,7 +130,7 @@ const char* UInterface::getName( long id )
return "";
}
//---------------------------------------------------------------------------
const char* UInterface::getShortName( long id )
const char* pyUInterface::getShortName( long id )
{
if( UniSetTypes::conf )
return ORepHelpers::getShortName(UniSetTypes::conf->oind->getMapName(id)).c_str();
......@@ -138,7 +138,7 @@ const char* UInterface::getShortName( long id )
return "";
}
//---------------------------------------------------------------------------
const char* UInterface::getTextName( long id )
const char* pyUInterface::getTextName( long id )
{
if( UniSetTypes::conf )
return UniSetTypes::conf->oind->getTextName(id).c_str();
......@@ -146,7 +146,7 @@ const char* UInterface::getTextName( long id )
return "";
}
//---------------------------------------------------------------------------
const char* UInterface::getConfFileName()
const char* pyUInterface::getConfFileName()
{
if( UniSetTypes::conf )
return UniSetTypes::conf->getConfFileName().c_str();
......
#ifndef UInterface_H_
#define UInterface_H_
#ifndef pyUInterface_H_
#define pyUInterface_H_
// --------------------------------------------------------------------------
#include <string>
#include "UTypes.h"
#include "UExceptions.h"
// --------------------------------------------------------------------------
namespace UInterface
namespace pyUInterface
{
void uniset_init_params( UTypes::Params* p, const char* xmlfile )throw(UException);
void uniset_init( int argc, char** argv, const char* xmlfile )throw(UException);
......
......@@ -111,4 +111,56 @@ def Params_inst():
return _pyUModbus.Params_inst()
Params_inst = _pyUModbus.Params_inst
class UException(Exception):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, UException, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, UException, name)
__repr__ = _swig_repr
def __init__(self, *args):
this = _pyUModbus.new_UException(*args)
try: self.this.append(this)
except: self.this = this
__swig_destroy__ = _pyUModbus.delete_UException
__del__ = lambda self : None;
def getError(self): return _pyUModbus.UException_getError(self)
__swig_setmethods__["err"] = _pyUModbus.UException_err_set
__swig_getmethods__["err"] = _pyUModbus.UException_err_get
UException_swigregister = _pyUModbus.UException_swigregister
UException_swigregister(UException)
class UTimeOut(UException):
__swig_setmethods__ = {}
for _s in [UException]: __swig_setmethods__.update(getattr(_s,'__swig_setmethods__',{}))
__setattr__ = lambda self, name, value: _swig_setattr(self, UTimeOut, name, value)
__swig_getmethods__ = {}
for _s in [UException]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
__getattr__ = lambda self, name: _swig_getattr(self, UTimeOut, name)
__repr__ = _swig_repr
def __init__(self, *args):
this = _pyUModbus.new_UTimeOut(*args)
try: self.this.append(this)
except: self.this = this
__swig_destroy__ = _pyUModbus.delete_UTimeOut
__del__ = lambda self : None;
UTimeOut_swigregister = _pyUModbus.UTimeOut_swigregister
UTimeOut_swigregister(UTimeOut)
class USysError(UException):
__swig_setmethods__ = {}
for _s in [UException]: __swig_setmethods__.update(getattr(_s,'__swig_setmethods__',{}))
__setattr__ = lambda self, name, value: _swig_setattr(self, USysError, name, value)
__swig_getmethods__ = {}
for _s in [UException]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
__getattr__ = lambda self, name: _swig_getattr(self, USysError, name)
__repr__ = _swig_repr
def __init__(self, *args):
this = _pyUModbus.new_USysError(*args)
try: self.this.append(this)
except: self.this = this
__swig_destroy__ = _pyUModbus.delete_USysError
__del__ = lambda self : None;
USysError_swigregister = _pyUModbus.USysError_swigregister
USysError_swigregister(USysError)
# This file is compatible with both classic and new-style classes.
......@@ -3,5 +3,5 @@
############################################################################
noinst_LTLIBRARIES = libInterfaces.la
libInterfaces_la_SOURCES = UniversalInterface.cc
libInterfaces_la_SOURCES = UInterface.cc
include $(top_builddir)/conf/setting.mk
noinst_LTLIBRARIES = libObjectsRepository.la
libObjectsRepository_la_SOURCES = UniSetTypes_iSK.cc UniSetObject_iSK.cc UniSetTypes.cc \
ObjectsManager_iSK.cc ObjectIndex.cc ObjectIndex_Array.cc ObjectIndex_XML.cc ObjectIndex_idXML.cc \
ORepHelpers.cc UniSetObject.cc ObjectsManager.cc \
ObjectsActivator.cc ObjectRepository.cc ObjectRepositoryFactory.cc \
ProxyManager.cc PassiveObject.cc UniSetObject_LT.cc ObjectsManager_LT.cc IORFile.cc
UniSetManager_iSK.cc ObjectIndex.cc ObjectIndex_Array.cc ObjectIndex_XML.cc ObjectIndex_idXML.cc \
ORepHelpers.cc UniSetObject.cc UniSetManager.cc \
UniSetActivator.cc ObjectRepository.cc ObjectRepositoryFactory.cc \
ProxyManager.cc PassiveObject.cc UniSetObject_LT.cc UniSetManager_LT.cc IORFile.cc
# ServiceActivator.cc
include $(top_builddir)/conf/setting.mk
......
......@@ -20,9 +20,9 @@
/*! \file
* \author Pavel Vainerman
*/
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
#include "Exceptions.h"
#include "ObjectsManager_LT.h"
#include "UniSetManager_LT.h"
#include "Debug.h"
#include "PassiveTimer.h"
......@@ -30,30 +30,30 @@
using namespace std;
using namespace UniSetTypes;
// ------------------------------------------------------------------------------------------
ObjectsManager_LT::ObjectsManager_LT( UniSetTypes::ObjectId id ):
ObjectsManager(id),
UniSetManager_LT::UniSetManager_LT( UniSetTypes::ObjectId id ):
UniSetManager(id),
sleepTime(UniSetTimer::WaitUpTime)
{
}
// ------------------------------------------------------------------------------------------
ObjectsManager_LT::ObjectsManager_LT():
sleepTime(UniSetTimer::WaitUpTime)
UniSetManager_LT::UniSetManager_LT():
sleepTime(UniSetTimer::WaitUpTime)
{
}
// ------------------------------------------------------------------------------------------
ObjectsManager_LT::~ObjectsManager_LT()
UniSetManager_LT::~UniSetManager_LT()
{
}
// ------------------------------------------------------------------------------------------
void ObjectsManager_LT::callback()
void UniSetManager_LT::callback()
{
// При реализации с использованием waitMessage() каждый раз при вызове askTimer() необходимо
// проверять возвращаемое значение на UniSetTimers::WaitUpTime и вызывать termWaiting(),
// чтобы избежать ситуации, когда процесс до заказа таймера 'спал'(в функции waitMessage()) и после
// При реализации с использованием waitMessage() каждый раз при вызове askTimer() необходимо
// проверять возвращаемое значение на UniSetTimers::WaitUpTime и вызывать termWaiting(),
// чтобы избежать ситуации, когда процесс до заказа таймера 'спал'(в функции waitMessage()) и после
// заказа продолжит спать(т.е. обработчик вызван не будет)...
try
{
{
if( waitMessage(msg, sleepTime) )
processingMessage(&msg);
......@@ -65,7 +65,7 @@ void ObjectsManager_LT::callback()
}
}
// ------------------------------------------------------------------------------------------
void ObjectsManager_LT::askTimer( UniSetTypes::TimerId timerid, timeout_t timeMS, short ticks, UniSetTypes::Message::Priority p )
void UniSetManager_LT::askTimer( UniSetTypes::TimerId timerid, timeout_t timeMS, short ticks, UniSetTypes::Message::Priority p )
{
// проверяйте возвращаемое значение
if( lt.askTimer(timerid, timeMS, ticks, p) != UniSetTimer::WaitUpTime )
......
......@@ -31,9 +31,9 @@
#include "Exceptions.h"
#include "ORepHelpers.h"
#include "ObjectRepository.h"
#include "UniversalInterface.h"
#include "UInterface.h"
#include "UniSetObject.h"
#include "ObjectsManager.h"
#include "UniSetManager.h"
#include "Debug.h"
// ------------------------------------------------------------------------------------------
......@@ -170,7 +170,7 @@ void UniSetObject::init_object()
* \param om - указазтель на менджер управляющий объектом
* \return Возращает \a true если инициализация прошда успешно, и \a false если нет
*/
bool UniSetObject::init( ObjectsManager* om )
bool UniSetObject::init( UniSetManager* om )
{
if( ulog.is_info() )
ulog.info() << myname << ": init..." << endl;
......@@ -758,8 +758,8 @@ bool UniSetObject::activate()
{
ulog.crit() << myname << "(activate): Не задан ID!!! activate failure..." << endl;
// вызываем на случай если она переопределена в дочерних классах
// Например в ObjectsManager, если здесь не вызвать, то не будут инициализированы подчинённые объекты.
// (см. ObjectsManager::activateObject)
// Например в UniSetManager, если здесь не вызвать, то не будут инициализированы подчинённые объекты.
// (см. UniSetManager::activateObject)
activateObject();
return false;
}
......
......@@ -24,7 +24,7 @@
//#include <stream.h>
#include <sstream>
#include <cmath>
#include "UniversalInterface.h"
#include "UInterface.h"
#include "IOController.h"
#include "Debug.h"
// ------------------------------------------------------------------------------------------
......@@ -41,14 +41,14 @@ IOController::IOController():
// ------------------------------------------------------------------------------------------
IOController::IOController(const string name, const string section):
ObjectsManager(name, section),
UniSetManager(name, section),
ioMutex(name+"_ioMutex"),
isPingDBServer(true)
{
}
IOController::IOController(ObjectId id):
ObjectsManager(id),
UniSetManager(id),
ioMutex(string(conf->oind->getMapName(id))+"_ioMutex"),
isPingDBServer(true)
{
......@@ -62,7 +62,7 @@ IOController::~IOController()
// ------------------------------------------------------------------------------------------
bool IOController::activateObject()
{
bool res = ObjectsManager::activateObject();
bool res = UniSetManager::activateObject();
sensorsRegistration();
return res;
}
......@@ -70,7 +70,7 @@ bool IOController::activateObject()
bool IOController::disactivateObject()
{
sensorsUnregistration();
return ObjectsManager::disactivateObject();
return UniSetManager::disactivateObject();
}
// ------------------------------------------------------------------------------------------
void IOController::sensorsUnregistration()
......
......@@ -28,7 +28,7 @@
#include <stdio.h>
#include <unistd.h>
#include "UniversalInterface.h"
#include "UInterface.h"
#include "IONotifyController.h"
#include "Debug.h"
#include "NCRestorer.h"
......
......@@ -127,7 +127,7 @@ void SMonitor::sysCommand( SystemMessage *sm )
// ------------------------------------------------------------------------------------------
void SMonitor::sensorInfo( SensorMessage *si )
{
cout << "(" << setw(6) << si->id << "): " << setw(8) << UniversalInterface::timeToString(si->sm_tv_sec,":")
cout << "(" << setw(6) << si->id << "): " << setw(8) << UInterface::timeToString(si->sm_tv_sec,":")
<< "(" << setw(6) << si->sm_tv_usec << "): ";
cout << setw(45) << conf->oind->getMapName(si->id);
cout << "\tvalue=" << si->value << "\tfvalue=" << ( (float)si->value / pow(10.0,si->ci.precision) ) << endl;
......
#include <time.h>
#include "Debug.h"
#include "UniSetTypes.h"
using namespace std;
using namespace UniSetTypes;
int main( int argc, const char **argv )
{
DebugStream tlog;
tlog.addLevel(Debug::ANY);
tlog[Debug::INFO] << ": [info] ..." << endl;
tlog(Debug::INFO) << ": (info) ..." << endl;
cout << endl;
tlog.d_level1() << ": (level1) ..." << endl;
tlog.level1() << ": [level1] ..." << endl;
tlog.info() << ": [info] ..." << endl;
if( tlog.is_level1() )
tlog.d_level1() << ": is level1..." << endl;
return 0;
}
#include <time.h>
#include "UniversalInterface.h"
#include "UInterface.h"
#include "UniSetTypes.h"
using namespace std;
......@@ -10,7 +10,7 @@ int main( int argc, const char **argv )
try
{
uniset_init(argc,argv,"test.xml");
UniversalInterface ui;
UInterface ui;
cout << "** check getSensorID function **" << endl;
ObjectId id1 = conf->getSensorID("Input1_S");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment