summaryrefslogtreecommitdiffstats
path: root/common/collection/collection.h
Commit message (Collapse)AuthorAgeFilesLines
* COLLECTION Functions to deal with hashDmitri Pal2009-09-111-0/+10
| | | | | | | | | | | | | | | The hashing logic was internal to the collection item. But if someone wants to effectively deal with the items and compare the property to a string he should compare hashes first. But it was not possible without the provided functions. As a result some of the ELAPI modules had to take advantage of knowledge of the item structure. This is bad. So this patch lays foundation for refactoring of the ELAPI code that was using internals of the item directly (file_util.c mostly). Also patch adds a unit test that was required for testing new functionality and for ticket #83
* COLLECTION Improvements to copy functionsDmitri Pal2009-09-101-9/+21
| | | | | | | | | | | | | | | | | | | | This patch adds better options for copying collections in flat mode. It allows caller of the interface to control prefixing of the fields when one collection is appended to another. It also avoids creating prefixes when the collection is simply copied in flat mode. Also for ELAPI I realized that the most efficient way to deal with the "resolved" event (event where all templeted values are actually replaced with the real values) is to add a callback capability to a copy collection function so that the callback can be used to modify the data (resolve it) while the copy operation is in progress. This approach eliminates the need for separate set of lookups after the event is already copied.
* COLLECTION Copy collection flat with concatenated namesDmitri Pal2009-09-091-19/+37
| | | | | | | | | | | | | | | | | | | | | This patch addresses several issues: a) Adds capability to add or copy the collections in flattened mode but construct names of attributes in dotted notation. For example when you append collection "sub" with items "foo" and "bar" previously you could add them as "foo" and "bar" not you can flatten them and the names will be "sub.foo" and "sub.bar" this allows better processing of the attributes in the elapi message. b) Removes old implemntation of the copy collection function. c) Removes the col_set_timestamp, this functionality has been moved to ELAPI long ago. d) Updates collection unit test. e) Updates elapi to use new functionality f) Updates elapi unit test Have run under valgrind with no problems.
* ELAPI: Adding concept of targetsDmitri Pal2009-08-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | The targets are the destinations which caller wants to send the events to. The sinks are now on the second level under targets and constitute a so called fail over chain for a target. Such approach eliminates the need for complex routing function. The dispatcher keeps the list of targets in a collection. The element in the collection is the target context. Also gispatcher keeps the list of the sinks in a separate collection. Each target context has a list of the sinks associated with this target. But those are just pointers (at least for now) to the sinks form the list kept by dispatcher. I had to add some internal debug callbacks to be able to see that all the internals of the dispatcher are actually in order. See the conttent of config file for more comments. Also see information posted on SSSD wiki. https://fedorahosted.org/sssd/wiki/WikiPage/ELAPIInterface
* COLLECTION & INI CleanupDmitri Pal2009-07-201-6/+9
| | | | | | | | | | | | | | | | I started to cleanup the unit tests from the type cust around NULL and found several problems that I had to address: 1) The choice of the "." as a search separator turned out to be a poor choice. The problem was that the file name has "." and INI was relaying on files to be used as property names. I corrected that part in the INI but after discussion with Simo we decided to switch from "." to "!" as special symbol anyways. 2) Found that the property rename was not reinitializing the hash. Corrected. Added ticket to add unit tests around it (#83).
* COLLECTION Add remove item functionsDmitri Pal2009-07-161-22/+54
| | | | | | | | | | | | | The remove functions extract and remove items, they act differently from the way the delete_property function works. The new functions allow deletion with the disposition while the delete_property only deletes specified property. The delete_property function is left as is since there are some use cases when it is more efficient to use it rather than new remove_item_xxx ones.
* COLLECTION Fixed: iterator_up and insert_into_currentDmitri Pal2009-07-151-2/+4
| | | | | | | | | | | During a review of the previous patch the two issues were found: a) The col_iterator_up function was not implemented properly so it got reworked. New implementation changes the way error condition is handled. Comments were updated accordingly. b) There was a mising check for validity of the argument in the col_insert_into_current function. Check was added. c) Unit test modified to reflect the change in functionality.
* COLLECTION Adding flat traversal & copyDmitri Pal2009-07-151-31/+63
| | | | | | | | | | | | The collection is hearachical. The flattening of the collection was not implemented before both for traversal and copying. This patch introduces functionality to traverse or iterate through collection as flat set and also copy collection into another flattening it and automatically resolving conflicts. Also imptoved tracability and fixed memory leak in unbind iterator code.
* Clean up warnings in common/Simo Sorce2009-07-031-6/+6
| | | | Fix consts and function declarations
* Changing function names for collection API.Dmitri Pal2009-07-021-395/+432
| | | | | | | Patch prepends prefix "col_" to all functions related to collection. This caused some formatiing issues so the alignement was addressed too.
* Adding INSERT into collection functionality.Dmitri Pal2009-07-011-16/+372
| | | | | | | | | Add was always insterting at the end of the collection. With this change one can control where the item is inserted and deal with the duplicates too. Also one now can extract items from collection using absolute and relative disposition. Using more advanced hashing function.
* INI component: Fixed issues introduced by cleanup.Dmitri Pal2009-04-091-2/+2
| | | | | | | Added a few new functions. Cleaned code that was subject to conditional build. Fixed the floating point conversion. Keep const values as const.
* Fix const warningsSimo Sorce2009-04-071-64/+68
|
* Style fixes for /commonSimo Sorce2009-04-071-122/+205
|
* Clean up a lot of warnings in Collection and INI parserStephen Gallagher2009-04-061-2/+3
|
* First commit of basic collection API.Dmitri Pal2009-04-061-0/+426