Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
U
uniset2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
UniSet project repositories
uniset2
Commits
8f7a389a
Commit
8f7a389a
authored
Dec 17, 2013
by
Pavel Vainerman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(2.0): небольшие правки описаний
parent
3bb178a2
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
30 additions
and
63 deletions
+30
-63
DefaultMessageInterface.h
include/DefaultMessageInterface.h
+0
-43
HourGlass.h
include/HourGlass.h
+3
-3
Pulse.h
include/Pulse.h
+8
-0
RunLock.h
include/RunLock.h
+11
-4
UniversalInterface.h
include/UniversalInterface.h
+8
-12
RunLock.cc
src/Various/RunLock.cc
+0
-1
No files found.
include/DefaultMessageInterface.h
deleted
100644 → 0
View file @
3bb178a2
/* This file is part of the UniSet project
* Copyright (c) 2002 Free Software Foundation, Inc.
* Copyright (c) 2002 Pavel Vainerman
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
// --------------------------------------------------------------------------
/*! \file
* \brief "Пустая" реализация интерфейса работы с сообщениями
* \author Pavel Vainerman
*/
// --------------------------------------------------------------------------
#ifndef DefaultMessageInterface_H_
#define DefaultMessageInterface_H_
// --------------------------------------------------------------------------
#include "MessageInterface.h"
// --------------------------------------------------------------------------
class
DefaultMessageInterface
:
public
MessageInterface
{
public
:
DefaultMessageInterface
(){}
virtual
~
DefaultMessageInterface
(){}
virtual
std
::
string
getMessage
(
UniSetTypes
::
MessageCode
code
){
return
""
;
}
virtual
bool
isExist
(
UniSetTypes
::
MessageCode
code
){
return
false
;
}
virtual
UniSetTypes
::
MessageCode
getCode
(
const
std
::
string
&
msg
){
return
UniSetTypes
::
DefaultMessageCode
;
}
virtual
UniSetTypes
::
MessageCode
getCodeByIdName
(
const
std
::
string
&
name
){
return
UniSetTypes
::
DefaultMessageCode
;
}
virtual
std
::
ostream
&
printMessagesMap
(
std
::
ostream
&
os
){
return
os
;
}
};
// --------------------------------------------------------------------------
#endif
include/HourGlass.h
View file @
8f7a389a
...
...
@@ -30,8 +30,8 @@
(как фильтр от кратковременных изменений) с "накоплением времени".
Аналогия с песочными часами:
\par
Выставляете время
(run).. устанавливаются в какое-то положение часы (rotate)
...
песок сыплется... если весь пересыпался - срабатывает условие
(check()==true)
.
Выставляете время
'run(msec)'.. устанавливаются в какое-то положение часы 'rotate(true)'
...
песок сыплется... если весь пересыпался - срабатывает условие
'check()==true'
.
Если во время работы условие изменилось (часы перевернули в обратную сторону), то
уже успевший пересыпаться песок, начинает пересыпаться в обратную сторону. Если опять
повернули часы... продолжает сыпаться опять (добвляясь к тому песку, что "не успел" высыпаться обратно).
...
...
@@ -51,7 +51,7 @@
while( ....)
{
hg.rotate(in_overheating); // управляем состоянием песочных часов (прямой или обратный ход).
hg.rotate(in_overheating); // управляем состоянием песочных часов (прямой или обратный ход
часов
).
isOverheating = hg.check();
}
...
...
include/Pulse.h
View file @
8f7a389a
...
...
@@ -5,6 +5,13 @@
#include <iostream>
#include "PassiveTimer.h"
// --------------------------------------------------------------------------
/*! Класс реализующий формирование импульсов заданной длительности(t1) и заданных пауз между ними(t0).
Класс пассивный, для работы требует постоянного вызова функции step().
Для получения текущего состояния "выхода" использовать out().
Формирование импульсов включается функцией run() либо функцией set(true).
Вызов reset() тоже включает формирование импульсов.
Выключается формирование вызовом set(false).
*/
class
Pulse
{
public
:
...
...
@@ -58,6 +65,7 @@ class Pulse
}
inline
bool
out
(){
return
ostate
;
}
inline
void
set
(
bool
state
)
{
isOn
=
state
;
...
...
include/RunLock.h
View file @
8f7a389a
...
...
@@ -27,19 +27,26 @@
// ---------------------------------------------------------------------------
#include <string>
// ---------------------------------------------------------------------------
/*! Защита от поторного запуска программы(процесса).
При вызове lock(lockFile) в файл lockFile записывается pid текущего процесса.
При вызове isLocked() проверяется состояние процесса по его pid (записанному в файл).
unlock() - удаляет файл.
\warning Код не переносимый, т.к. рассчитан на наличие каталога /proc,
по которому проверяется статус процесса (по pid).
*/
class
RunLock
{
public
:
RunLock
();
~
RunLock
();
static
bool
isLocked
(
const
std
::
string
&
lock
Nam
e
);
//, char* **argv );
static
bool
lock
(
const
std
::
string
&
lock
Nam
e
);
static
bool
unlock
(
const
std
::
string
&
lock
Nam
e
);
static
bool
isLocked
(
const
std
::
string
&
lock
Fil
e
);
//, char* **argv );
static
bool
lock
(
const
std
::
string
&
lock
Fil
e
);
static
bool
unlock
(
const
std
::
string
&
lock
Fil
e
);
protected
:
};
// ----------------------------------------------------------------------------
#endif
include/UniversalInterface.h
View file @
8f7a389a
...
...
@@ -49,11 +49,7 @@ namespace UniversalIO
}
// -----------------------------------------------------------------------------------------
//#define REPEAT_TIMEOUT 100 // [мс] пауза между попытками вызвать удаленную функцию объекта
//#define REPEAT_COUNT 5 // количество попыток, после которого вырабатывается TimeOut
#define IO_THROW_EXCEPTIONS UniSetTypes::TimeOut,UniSetTypes::IOBadParam,UniSetTypes::ORepFailed
// -----------------------------------------------------------------------------------------
/*!
* \class UniversalInterface
...
...
@@ -94,7 +90,7 @@ class UniversalInterface
//! Выставление состояния датчика
void
setValue
(
UniSetTypes
::
ObjectId
id
,
long
value
,
UniSetTypes
::
ObjectId
node
)
throw
(
IO_THROW_EXCEPTIONS
);
void
setValue
(
UniSetTypes
::
ObjectId
id
,
long
value
);
void
setValue
(
UniSetTypes
::
ObjectId
id
,
long
value
);
void
setValue
(
IOController_i
::
SensorInfo
&
si
,
long
value
,
UniSetTypes
::
ObjectId
supplier
);
void
fastSetValue
(
IOController_i
::
SensorInfo
&
si
,
long
value
,
UniSetTypes
::
ObjectId
supplier
);
...
...
@@ -112,7 +108,7 @@ class UniversalInterface
//! Заказ информации об изменении дискретного датчика
void
askThreshold
(
UniSetTypes
::
ObjectId
sensorId
,
UniSetTypes
::
ThresholdId
tid
,
void
askThreshold
(
UniSetTypes
::
ObjectId
sensorId
,
UniSetTypes
::
ThresholdId
tid
,
UniversalIO
::
UIOCommand
cmd
,
CORBA
::
Long
lowLimit
=
0
,
CORBA
::
Long
hiLimit
=
0
,
CORBA
::
Long
sensibility
=
0
,
UniSetTypes
::
ObjectId
backid
=
UniSetTypes
::
DefaultObjectId
);
...
...
@@ -216,16 +212,14 @@ class UniversalInterface
UniSetTypes
::
ObjectId
node
=
UniSetTypes
::
conf
->
getLocalNode
()
);
// used exist
bool
waitWorking
(
UniSetTypes
::
ObjectId
id
,
int
msec
,
int
pause
=
3000
,
UniSetTypes
::
ObjectId
node
=
UniSetTypes
::
conf
->
getLocalNode
()
);
// used get
Stat
e
UniSetTypes
::
ObjectId
node
=
UniSetTypes
::
conf
->
getLocalNode
()
);
// used get
Valu
e
inline
void
setCacheMaxSize
(
unsigned
int
newsize
)
{
rcache
.
setMaxSize
(
newsize
);
}
/*!
\todo Убедится в уникальности возвращаемого результата hash(...)
*/
/*! Кэш ссылок на объекты */
class
CacheOfResolve
{
public
:
...
...
@@ -237,7 +231,7 @@ class UniversalInterface
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
)
inline
void
setMaxSize
(
unsigned
int
ms
)
{
MaxSize
=
ms
;
};
...
...
@@ -246,6 +240,7 @@ class UniversalInterface
protected
:
CacheOfResolve
(){};
private
:
bool
clean
();
/*!< функция очистки кэш-а от старых ссылок */
...
...
@@ -260,7 +255,7 @@ class UniversalInterface
*/
struct
Info
{
Info
(
UniSetTypes
::
ObjectVar
ptr
,
time_t
tm
=
0
)
:
Info
(
UniSetTypes
::
ObjectVar
ptr
,
time_t
tm
=
0
)
:
ptr
(
ptr
)
{
if
(
!
tm
)
...
...
@@ -306,6 +301,7 @@ class UniversalInterface
void
initBackId
(
UniSetTypes
::
ObjectId
backid
);
protected
:
std
::
string
set_err
(
const
std
::
string
&
pre
,
UniSetTypes
::
ObjectId
id
,
UniSetTypes
::
ObjectId
node
);
private
:
void
init
();
...
...
src/Various/RunLock.cc
View file @
8f7a389a
...
...
@@ -24,7 +24,6 @@
// --------------------------------------------------------------------------
#include <dirent.h>
#include "RunLock.h"
#include "Exceptions.h"
#include "Configuration.h"
// --------------------------------------------------------------------------
using
namespace
UniSetTypes
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment