386a2f73a7
don't destroy locked mutex
Michael Davidsaver
2012-05-24 14:11:08 -04:00
8b2c08f2f6
fix build
Michael Davidsaver
2012-04-27 13:25:27 -04:00
c1c7698a98
disable filter tests until fixed...
Michael Davidsaver
2012-04-27 13:25:27 -04:00
60692fd9d2
clean all
Michael Davidsaver
2012-04-27 13:25:27 -04:00
773c277d20
ugly hack to make unit test run
Michael Davidsaver
2012-04-27 13:25:26 -04:00
cb175516d6
fix build after reorg
Michael Davidsaver
2012-04-27 13:25:25 -04:00
ceabe74653
fix test build
Michael Davidsaver
2012-04-27 13:25:25 -04:00
948a3feba7
Fix in dbLink.h: Include all used headers
Ralph Lange
2012-04-27 13:25:19 -04:00
57fc84fef3
dbState: Avoid segfaults when called with NULL pointer
Ralph Lange
2012-04-27 13:25:18 -04:00
03a30f3b8f
Add DbState soft support for bi/bo records.
Michael Davidsaver
2012-04-27 13:25:18 -04:00
83586b49d0
Add test code for sync plugin.
Michael Davidsaver
2012-04-27 13:25:17 -04:00
95881525e5
Add sync plugin that uses the db state
Michael Davidsaver
2012-04-27 13:25:16 -04:00
c4b54c6d4d
Fix compiler warnings and minor issues.
Ralph Lange
2012-04-27 13:25:16 -04:00
4893d0ef8b
Add dbState library that provides a means of synchronizing plugins to events.
Michael Davidsaver
2012-04-27 13:25:15 -04:00
77eba53222
Change arr plugin behaviour from exclusive to inclusive range end specifier
Ralph Lange
2012-04-27 13:25:14 -04:00
0d9d992717
Add [s:i:e] sub-array shorthand parsing and unit test
Michael Davidsaver
2012-04-27 13:25:14 -04:00
ef2814ec44
Fix bug in arr plugin (for incr <= 0), add tests for invalid and out-of-bound parameters
Ralph Lange
2012-04-27 13:25:13 -04:00
45a531b167
Add arr plugin for array subsets (+ testcode)
Michael Davidsaver
2012-04-27 13:25:07 -04:00
ef4b2e5892
Fix in dbExtractArray.c for DBF_STRING copies with wrap around
Ralph Lange
2012-04-27 13:25:03 -04:00
0e2a66e721
Fixes and additions in dbExtractArray.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit
Ralph Lange
2012-04-27 13:24:54 -04:00
0b32220e86
Added tests for ts and dbnd plugins, fix in dbnd.c: make local functions static
Michael Davidsaver
2012-04-27 13:22:04 -04:00
d2d91a545f
Bunch of minor changes
Ralph Lange
2012-04-27 13:22:02 -04:00
62ba76c71a
Add dbExtractArray to support extracting same type arrays with offset and increment
Michael Davidsaver
2012-04-27 13:22:02 -04:00
0cfe224f47
Add deadband plugin (client defined monitor deadband)
Michael Davidsaver
2012-04-27 13:22:01 -04:00
b843a8990a
Fix: don't put dropped event (NULL) on the event queue
Ralph Lange
2012-04-27 13:22:01 -04:00
444a200b61
Change how ...Show is generated, minor refactoring and fix in ts plugin
Ralph Lange
2012-04-27 13:22:00 -04:00
d2abc71527
Add function to dbChannel.c to create a db_field_log copy of array/string data
Ralph Lange
2012-04-27 13:22:00 -04:00
e67ef8a005
Add ts filter plugin to set timestamp to "now"
Michael Davidsaver
2012-04-27 13:21:59 -04:00
6e58dcfab6
Change interface to ...Show functions, minor refactoring
Ralph Lange
2012-04-27 13:21:59 -04:00
317065dadb
Minor fixes in chfPluginTest.c
Ralph Lange
2012-04-27 13:21:58 -04:00
6923dc5fd2
Add ability for plugins to drop db_field_log updates (+tests)
Ralph Lange
2012-04-27 13:21:58 -04:00
47e2e228ab
Extend and add lots of tests in chfPluginTest.c
Ralph Lange
2012-04-27 13:21:57 -04:00
f8e9a7643a
Added pvt pointer argument to parse_error in the plugin interface
Ralph Lange
2012-04-27 13:21:57 -04:00
926246a495
=?UTF-8?q?Update=20copyright=20notices,=20refactor=20in=20dbEvent.c:=20make=20LOCK/UNLOCK=20macros=20require=20=C2=A8;=C2=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit
Ralph Lange
2012-04-27 13:21:57 -04:00
0a6ca6011a
Run post-event-queue filters for events
Ralph Lange
2012-04-27 13:21:56 -04:00
f806551fe3
Add context qualifier to db_field_log, support plugins for CA read operations
Michael Davidsaver
2012-04-27 13:21:56 -04:00
ec7dfb1890
Change mechanism to detect data type/size changes by plugins
Ralph Lange
2012-04-27 13:21:55 -04:00
c41fcef260
Restructured pre- and post-event queue chains, type/size change detection
Ralph Lange
2012-04-27 13:21:55 -04:00
b99975cf71
Allow filter plugin to change the type of data and the array size
Ralph Lange
2012-04-27 13:21:54 -04:00
b09a9758b0
Changed db_field_log types to add support for plugin-created array copies
Ralph Lange
2012-04-27 13:21:54 -04:00
5ea973151f
Make reference (array/string) updates use a reference type db_field_log.
Ralph Lange
2012-04-27 13:21:54 -04:00
4dd42383ef
Add filter/plugin insertion into the high-priority filter list (pre event queue).
Ralph Lange
2012-04-27 13:21:53 -04:00
dd03d19cf2
dbEvent.c: use a free list for the field logs and keep a pointer in the event queue
Ralph Lange
2012-04-27 13:21:53 -04:00
d92665c5a3
Refactoring: enforce consistent use of names in dbEvent.c - NO EFFECTIVE CODE CHANGES
Ralph Lange
2012-04-27 13:21:52 -04:00
9f5f5246aa
Added required mask per plugin to shorten check loop. Trivial test change. [src/db/chfPlugin.c src/db/test/chfPluginTest.c]
Ralph Lange
2012-04-27 13:21:52 -04:00
52c6eaa848
Refactor: get rid of ...Ctx (as Ctx is often used for user handles) [src/db/chfPlugin.c]
Ralph Lange
2012-04-27 13:21:52 -04:00
de134ea72d
Added chfPlugin, a simple interface for channel filter plugins. - chfPlugin.h contains the simple jump table and doxygen documentation - chfPlugin.c is a wrapper library around the yajl callbacks that parses any client-supplied configuration into the user's structure - test/chfPluginTest.c tests the library and the data conversion
Michael Davidsaver
2012-04-27 13:21:51 -04:00
d22b719e32
Changed the structure for channel filters and channel filter plugins. - Made chFilterPlugin public (moved from dbChannel.c to dbChannel.h) - Made the interface jump table chFilterIf part of the chFilterPlugin (i.e. once per plugin) instead of chFilter (once per instance) - Added a pointer from chFilter (instance) to chFilterPlugin (plugin) - Added a private user pointer in chFilterPlugin - Changed dbFindFilter() to return a chFilterPlugin* (instead of the jump table) - Changed dbRegisterFilter() to accept a user private pointer as 3rd arg
Ralph Lange
2012-04-27 13:21:50 -04:00
f65ec61dc3
Fix: Call dbChannelDelete() when client connection is lost. [rsrv/caservertask.c]
Ralph Lange
2012-04-27 13:21:49 -04:00
a2fadc15a7
Must clear link type before calling dbLockSetSplit()
Andrew Johnson
2012-04-27 13:21:48 -04:00
4ef35a5f5c
Move recGblInitConstantLink() functionality into dbLink.c Using dbFastPutConvert for string to number conversion.
Andrew Johnson
2012-04-27 13:21:48 -04:00
74b24bbe0f
Refactor link handling code (incomplete). * Moved routines into dbLink.h and dbLink.c * Created separate routines for DB_LINK processing * Added dbinitLink() and dbAddLink() * Started a Link Support Entry Table, not used yet * Everything should still work as before...
Michael Davidsaver
2012-04-27 13:21:47 -04:00
06d3397342
Fix compiler warnings.
Andrew Johnson
2012-04-27 13:21:47 -04:00
58d1e22e0f
Improve output from Show routines.
Andrew Johnson
2012-04-27 13:21:46 -04:00
19a166a60d
Various updates.
Andrew Johnson
2012-04-27 13:21:46 -04:00
1047f42b15
Simplify implementation.
Andrew Johnson
2012-04-27 13:21:45 -04:00
9a02181084
Add ellPop() function, removes and returns the last node on a list.
Andrew Johnson
2012-04-27 13:21:45 -04:00
06bcdb0ade
Tindying up. Fixed issues with dbChannelDelete() and dbChannelShow().
Andrew Johnson
2012-04-27 13:21:45 -04:00
e94fd29b9b
fix camessage
Michael Davidsaver
2012-04-27 13:21:44 -04:00
bcfaa63d8c
complete rename
Michael Davidsaver
2012-04-27 13:21:44 -04:00
4c2eba502a
Rename dbChannelData() to dbChannelField() dbChannel_get() now uses dbChannelGetField() dbChannel_put() now uses dbChannelPutField() Conflicts:
Michael Davidsaver
2012-04-27 13:21:43 -04:00
07b3b7e32d
Make casr print the full channel name, not just the record name.
Andrew Johnson
2012-04-27 13:21:43 -04:00
1d274aba0d
Make dbChannel_create() call dbChannelOpen()
Andrew Johnson
2012-04-27 13:21:43 -04:00
b4dbcf2b1a
Don't parse field modifiers in dbChannelTest() dbChannelDelete() returns void update tests.
Andrew Johnson
2012-04-27 13:21:42 -04:00
e37c5c99bb
adapt db_get_field_and_count to dbChannel_get_count
Michael Davidsaver
2012-04-27 13:21:42 -04:00
8bf53d3c59
Replaced dbAddr with dbChannel in all CA-server related code * Routines with a db_access interface are named dbChannel_xxx * Using dbch for member variable names in Jeff's code
Michael Davidsaver
2012-04-27 13:21:41 -04:00
56468b684e
Extended functionality of dbChannel code: * Deleted the chan->magic member and associated checks. * Moved rset->cvt_dbaddr() call into dbChannelCreate() * Added many accessor routines * Renamed dbChannelReport() to dbChannelShow() and added dbChannelFilterShow()
Andrew Johnson
2012-04-27 13:21:41 -04:00
f4d55f1249
Changed dbChannel management API to Test/Create/Delete
Andrew Johnson
2012-04-27 13:21:40 -04:00
4324ffd274
Various improvements: * A filter's parse routines now return a parse_result (enum) * Return value from test filter parse routines is configurable * Either call parse_end() or parse_abort(), but never both.
Andrew Johnson
2012-04-27 13:21:40 -04:00
eee5a28983
Integrated dbChannel more and extended its functionality: * Register filters in pdbbase, using a list and gphash * Do record and field search first * Test loads a DBD/DB file to provide a record to find
Michael Davidsaver
2012-04-27 13:21:39 -04:00
8baf3b1362
Ignore eclipse project configuration files.
Andrew Johnson
2012-04-27 13:21:39 -04:00
0ab891fca4
Added gphFindParse(), which takes a string length parameter. This is useful for hash lookups while parsing a const string, to avoid having to copy and nil-terminate it.
Andrew Johnson
2012-04-27 13:21:33 -04:00
68dfeb76c0
Adding dbChannel JSON parser and test files. Passes 33 tests.
Michael Davidsaver
2012-04-27 13:21:32 -04:00
cf623e290a
Upgraded to yajl version 1.0.9.
Andrew Johnson
2012-04-27 13:21:31 -04:00
359fc1b69e
Move YAJL_API to front of declarations.
Andrew Johnson
2012-04-27 13:21:31 -04:00
625a7adc69
Add Lloyd Hilaiel's Yet Another JSON Library v 1.05 to libCom. This is BSD licensed, modified only enough to build under EPICS.
Andrew Johnson
2012-04-27 13:21:29 -04:00
492360a3d4
Documentation updates
Andrew Johnson
2012-04-20 17:38:59 -05:00
653af6e366
Unify behaviour with msi.
Andrew Johnson
2012-04-20 17:35:26 -05:00
d61d7ebf96
Fix bug with global definitions
Andrew Johnson
2012-04-20 17:31:43 -05:00
7a968bc5f5
Refactoring for maintainability
Andrew Johnson
2012-04-20 14:01:51 -05:00