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
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
Marty Kraimer
52ee919845
Massive name changes to factory.
...
The changes make it clear what is a default implementation and
what implements base classes defined in pvData.h.
2011-02-01 05:31:55 -05:00
Marty Kraimer
ca3e22fd81
add methods append and remove to PVStructureArray
2011-01-31 09:38:12 -05:00
Marty Kraimer
ad9633c8f6
moved pvType.h from misc to pv.
...
Made changes to make it clear that is defining the pvData primitive types for pvData.
2011-01-28 08:22:46 -05:00
Marty Kraimer
f4a1173e7a
More work on introspection memory management.
...
Required changes to pvIntrospect.h and pvData.h
2011-01-20 09:16:33 -05:00
Marty Kraimer
608d74c400
Fix many memory leaks
2011-01-12 10:28:00 -05:00
Matej Sekoranja
b5cc749a94
Field equality test
2010-12-28 11:01:03 +01:00
Matej Sekoranja
990bb6316e
make ref. counting public
2010-12-27 11:33:53 +01:00
Marty Kraimer
531a63f913
fix append problem
...
still may have memory leak problem
2010-12-26 15:34:26 -05:00
Marty Kraimer
fdf2342157
minor changes
2010-12-20 06:30:48 -05:00
Marty Kraimer
188c256dda
documentation more complete
2010-12-13 13:12:43 -05:00
Marty Kraimer
381c6de7e9
change build so that only one library pvData gets built
2010-12-08 07:08:42 -05:00
Marty Kraimer
3b90f6b719
property and propertyTest now ready. doc not updated
2010-12-07 14:21:15 -05:00
Marty Kraimer
e82101b9c6
Implemented Queue.
2010-12-03 15:40:02 -05:00
Marty Kraimer
358923d064
started on documentation and changes to misc as a result
2010-12-02 15:28:09 -05:00
Marty Kraimer
9db054cc54
timer and timeStamp added to misc. copyright and license info added
2010-11-23 07:30:13 -05:00
Marty Kraimer
6e90ae7f12
added event thread executor timeFunction showConstructDestruct timeStamp
2010-11-17 11:14:38 -05:00
Marty Kraimer
5b4c642b5b
fix dependencies between include files
2010-11-09 14:38:34 -05:00
Marty Kraimer
5a7438e028
added linkedList and test for linkedList
2010-11-09 14:23:30 -05:00
Marty Kraimer
2502b381d3
added a test for auxInfo and field offsets
2010-11-04 15:48:06 -04:00
Marty Kraimer
4f871aae05
a complete set of tests for PVData now exists
2010-11-04 09:38:53 -04:00
Marty Kraimer
7f03a52200
Merged conflicts with matej's push
2010-11-02 08:54:15 -04:00
Marty Kraimer
f259c4451d
refactor introspection interfaces. replace epicsTypes by pvData types.
2010-11-02 07:53:03 -04:00
Matej Sekoranja
f751d075c5
serialization added
2010-11-01 23:28:03 +01:00
Marty Kraimer
59c2d447c1
testIntrospection now complete
2010-10-28 10:08:20 -04:00
Marty Kraimer
55b44e953d
standardPVField now complete
2010-10-27 13:26:29 -04:00
Marty Kraimer
4e5e4ea782
added StandardPVField
...
StandardField, which creates standard introspection interfaces, is complele
2010-10-27 08:18:31 -04:00
Marty Kraimer
d2a4a6da8f
Except for serialization all pv classes are implemented
2010-10-26 09:11:38 -04:00
Marty Kraimer
59eeadcd10
BasePVStructure now complete
2010-10-26 06:12:44 -04:00
Marty Kraimer
a2b35d1e82
AbstractPVField now finished
2010-10-22 10:41:17 -04:00
Marty Kraimer
fce7b9914b
PVDataCreateFactory.cpp now complete
2010-10-21 16:23:28 -04:00
Marty Kraimer
ebbb1191bd
ConvertFactory.cpp is now complete
2010-10-21 10:19:42 -04:00
Marty Kraimer
e0ca45a028
added operator!=
...
Convert.cpp almost done
2010-10-20 16:06:25 -04:00
Marty Kraimer
e5aac3b8e4
Main change is epicsBoolean=>bool
...
equuals => operator==
Additional implementation in Convert.cpp
2010-10-19 14:52:07 -04:00
Marty Kraimer
4b912a3c30
scalars and arrays implemented
2010-10-01 10:01:27 -04:00
Marty Kraimer
419f340aaa
All PVScalar interfaces now implemented
2010-09-30 07:49:29 -04:00
Marty Kraimer
355ac3aa1d
Fixed const mess
2010-09-29 09:24:17 -04:00
Marty Kraimer
f6c9b0eea3
1) implemented noDefaultMethods. See effective C++ Item 6. There it is called Uncopyable
...
2) implemented Lock. See effective C++ item 14.
This is as easy to use as Java synchronize.
3) wrapper on top of std::string. All usage of string in pvData is one of:
String - Just a std::string
StringBuilder - Used where StringBuilder is used in Java
StringConst - Just a "std::string const". This is used wherever String is used in Java
StringConstArray - Just like a String[] in Java.
4) The reference counting (incReferenceCount and decReferenceCount) are now private. It is completely handled by the implenentaion.
NO code that uses pvData needs even know about reference counting.
2010-09-27 08:33:10 -04:00
Marty Kraimer
dd6ecf9bec
all pvData interfaces and implementration stubs now defined
...
Most methods are not implemented and throw an exception
2010-09-24 09:52:08 -04:00
Marty Kraimer
2c6a99a6cb
add directory misc and move stuff to it.
2010-09-23 14:47:47 -04:00
Marty Kraimer
0d32a60b08
everything now builds
2010-09-23 11:01:41 -04:00
Marty Kraimer
7abba9ef7b
Still working on initial version
2010-09-17 11:34:26 -04:00
Marty Kraimer
10c2be9a3f
Still working on initial version
2010-09-17 09:31:44 -04:00
Marty Kraimer
ac194e1123
Working on initial version
2010-09-15 06:54:43 -04:00
Marty Kraimer
91f80a59e0
Fuller implementation of introspection.
...
Have not taken care of destroy or sharing
2010-08-12 05:36:25 -04:00