Marty Kraimer
bea5beefcc
minor changes to monitor.h
2011-05-12 09:15:15 -04:00
Marty Kraimer
d13284da7f
PVField no longer extends Requester.
2011-05-10 07:38:04 -04:00
Matej Sekoranja
fae332c09f
shared pointer def
2011-05-10 10:01:14 +02:00
Marty Kraimer
e873bdd0b6
fix memory leak on PVStructure::removeField
2011-04-27 12:06:44 -04:00
Marty Kraimer
95ae684d3d
add == for introspection; == of PVField is done in base class via convert.
...
Make monitorQueue compatible with monitor, i.e. shared_pointer
2011-04-27 08:27:10 -04:00
Matej Sekoranja
b45b965f14
added shared_pointer typedefs, monitor.h IF changed to used shared_pointers
2011-04-24 23:56:58 +02:00
Marty Kraimer
fc74317993
use Michael Davidsaver version of introspection
2011-04-21 15:21:18 -04:00
Marty Kraimer
f611f0550b
add method to messageQueue. Reorganize includes in CDRMonitor.h
2011-04-21 05:23:20 -04:00
Marty Kraimer
b1ffcf37d7
In PVField make extend Request virtual
2011-04-19 05:17:45 -04:00
Marty Kraimer
3a00b879ee
Added a new method to PVDataCreate that allows a PVStructure to be created from a PVField array where the elements have a null parent.
...
PVField::message was changed to pass the message to the top level field adding the field name at each level.
2011-04-15 14:21:55 -04:00
Marty Kraimer
efdef77461
fix bug in Convert.cpp; In misc add virtual destructor to abstract classes
2011-04-12 08:26:58 -04:00
Marty Kraimer
323a2d7321
major changes to monitor. Bug in Convert::copyScalar (change every break to rerurn); minor change to StandardPVField and queueVoid
2011-04-05 08:37:16 -04:00
Matej Sekoranja
617871ece9
static initialization fixed
2011-03-08 21:42:36 +01:00
Michael Davidsaver
c75c5fcfa6
Let Thread specify stack size
2011-03-07 12:23:51 -05:00
Michael Davidsaver
226cc62771
identify OSX
2011-03-07 12:23:51 -05:00
Michael Davidsaver
899c22fbf8
tr1 shared_ptr
2011-03-07 12:23:51 -05:00
Michael Davidsaver
14c1fdc8c1
minor cleanup in TypeFunc
...
Switch TypeFunc and ScalarTypeFunc from completely static
classes to namespaces. They functions share no private data
between them (and it seems unlikely that they ever will) so
there is no benefit to being class functions.
Also misc. cleanup of static string defs, and comparisons.
2011-03-07 12:23:51 -05:00
Michael Davidsaver
fa77eacd4e
use epicsMutex for Mutex
...
Now non-copyable, wasn't before...
2011-03-07 12:23:51 -05:00
Michael Davidsaver
4c88ef8e99
switch to epicsThread
...
Create a thin wrapper to account for the current interface and behavior
differences.
2011-03-07 12:23:51 -05:00
Michael Davidsaver
0c61ac0833
stack traces with any exception class
...
Define THROW_EXCEPTION(E) which takes an exception class instance,
and uses it to construct an instance of a class which is a subclass
of E and ExceptionMixin. The original instance is discarded, and
the newly constructed sub-class is thrown. Equivalent to
"throw E;".
Define THROW_EXCEPTION2(ETYPE,MSG) which takes an exception class
type, and argument. Directly constructs a ExceptionMixin sub-class
with the given message argument. Equivalent to
"throw ETYPE(MSG);".
Define PRINT_EXCEPTION2(E, FP) If E is a instance of a sub-class of
ExceptionMixin then write information to FP (FILE*).
Define SHOW_EXCEPTION(E) If E is a instance of a sub-class of
ExceptionMixin then return a std::string with information.
2011-03-07 12:23:51 -05:00
Matej Sekoranja
9fd158df1f
string serialization optimization
2011-03-04 12:13:57 +01:00
Matej Sekoranja
6357722bb1
PVString now extends Serializable array, serialization/deserialization template of all scalars fixed
2011-03-03 09:39:43 +01:00
Matej Sekoranja
4c7784671b
recalculateWordsInUse fix
2011-03-01 23:02:34 +01:00
Matej Sekoranja
c20284aebc
diamond inheritance
2011-02-28 19:24:50 +01:00
Marty Kraimer
665092df5a
update doc
2011-02-18 14:16:09 -05:00
Marty Kraimer
6d3ef2f5b6
use & instead of * in misc.
...
Simplify lock.h
2011-02-18 08:17:17 -05:00
Matej Sekoranja
b0c04eea53
Status changes
2011-02-17 01:21:16 +01:00
Michael Davidsaver
bb6cf7c00b
avoid method resolution problem from diamond inheritance
...
Serializable -> SerializableArray
Serializable -> PVField
SerializableArray -> PVArray
PVField -> PVArray
Thus for PVArray the members of SerializeSerializable are reachable
by two paths. This means that The vtable for PVArray has two seperate
entries for serialize.
Correct resolution is to use virtual inheritance to avoid the
ambiguity.
2011-02-15 11:39:38 -05:00
Michael Davidsaver
67ae45521b
PVStructure: implements method of SerializableArray without inheriting
...
And the implementation is a noop...
2011-02-15 11:11:48 -05:00
Michael Davidsaver
6eabee97fe
remove redundant pure virtual definitions
...
These only need to be given once in the hierarchy as pure virtual,
and then once for each concrete implementation.
2011-02-14 11:26:23 -05:00
Marty Kraimer
54782139c7
simplified definition and implementation of PVAuxInfo.
2011-02-10 07:46:38 -05:00
Marty Kraimer
de19e4b4dc
fixed memory leak in Convert. Cleaned up test/testProperty
2011-02-10 04:56:39 -05:00
Michael Davidsaver
277c71c7de
add remaining tests to testAll
2011-02-09 21:08:45 -05:00
Michael Davidsaver
fc932f1ad2
add testSerialization to testAll
2011-02-09 21:08:23 -05:00
Michael Davidsaver
afa17f8f4f
CDRMonitor: print to streams
2011-02-09 21:07:52 -05:00
Michael Davidsaver
89f5e27577
not everything is boolean
...
Use correct calls to (de)serialize POD types
2011-02-09 21:07:52 -05:00
Michael Davidsaver
08d99f2da2
Revert "specialized serialization for all (not nice)"
2011-02-09 21:07:52 -05:00
Matej Sekoranja
355f43fb97
capacity fix
2011-02-09 23:06:20 +01:00
Matej Sekoranja
62b285e79d
specialized serialization for all (not nice)
2011-02-09 22:05:09 +01:00
Michael Davidsaver
25af62a096
warning: minimum values
...
Compiler is parsing this const expression as
-(2147483648) and 2147483648 is too large.
Workaround is to use -(2147483647) - (1)
2011-02-08 13:28:03 -05:00
Michael Davidsaver
edfafd2ce6
test: update baseline
...
Just output order, no counts changing
2011-02-08 13:28:03 -05:00
Michael Davidsaver
890c72bad4
factory: templates for BasePV*Array implementations
2011-02-08 13:28:03 -05:00
Michael Davidsaver
3dae9f8728
factory: templates for BasePV* implementations
2011-02-08 13:28:03 -05:00
Michael Davidsaver
07a6bbaebd
test: drop perl scripts
2011-02-08 13:28:03 -05:00
Michael Davidsaver
48cf333e29
test: alternative test scripts
...
One script which can serve all tests
Other tests are symlinks
2011-02-08 13:28:03 -05:00
Michael Davidsaver
72b5354cb5
CDRMonitor: NDEBUG
2011-02-08 13:28:02 -05:00
Michael Davidsaver
7d3e58fcc9
CDRMonitor: lazy node creation
2011-02-08 13:28:02 -05:00
Michael Davidsaver
29bbaa60f6
Merge remote branch 'origin/master'
...
* origin/master:
change #ifndef name
static init. problem removed
2011-02-04 16:29:30 -05:00
Michael Davidsaver
624dff139d
executor: revise run and shutdown
...
Instead of a flag use a special marker Command inserted into
the queue.
2011-02-04 16:22:15 -05:00
Michael Davidsaver
294684636d
pvData.h: apply templates to PV* and PV*Array classes
...
The scalar and array value interface classes are largely
copy+paste so can easily be made templates PVScalarValue<>
and PVValueArray<>. Currently parametrized only by value
type.
Also the *ArrayData helpers become PVArrayData<>
2011-02-04 16:22:15 -05:00