Commit Graph

46 Commits

Author SHA1 Message Date
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
Marty Kraimer
81f3a1a0b2 Add initial files 2010-08-10 12:43:47 -04:00