Library Rp_LibraryInit() Rp_LibraryCopy(const Rp_Library* o) Rp_LibraryDestroy(Rp_Library *lib) Outcome *Rp_LibraryLoadXml(Rp_Library *lib, const char *xmltext) Outcome *Rp_LibraryLoadFile(Rp_Library *lib, const char *filename) void Rp_LibraryValue(Rp_Library *lib, const char *key, void *storage, size_t numHints, ...) Rp_Chain *Rp_LibraryDiff(Rp_Library *lib1, Rp_Library *lib2) void Rp_LibraryRemove (Rp_Library *lib, const char *key) const char *Rp_LibraryXml(Rp_Library *lib) const Outcome *Rp_LibraryOutcome(Rp_Library *lib) const int Rp_LibraryError(Rp_Library *lib) const Outcome *Rp_LibraryResult(Rp_Library *lib, int status) const Rp_Chain *Rp_LibraryContains(Rp_Library *lib) const --------------------------------------- Outcome *Rp_LibraryLoadXml(Rp_Library *lib, const char *xmltext) Purpose: parse the Rappture1.1 xml data in "xmltext". populate this library object with the Rappture objects described in the xml data. Input Arguments: 2 1. Rp_Library *lib - pointer to Library object 1. const char *xmltext - Rappture1.1 xml data Return Value: status of the object Notes: None Code Example: Outcome *Rp_LibraryLoadFile(Rp_Library *lib, const char *filename); Purpose: read the file "filename" and parse the Rappture1.1 xml data found inside of it. populate this library object with the Rappture objects described in the xml data. Input Arguments: 2 1. Rp_Library *lib - pointer to Library object 2. const char *filename - file containing Rappture1.1 xml data Return Value: status of the object Notes: None Code Example: void Rp_LibraryValue(Rp_Library *lib, const char *key, void *storage, size_t numHints, ...); Purpose: retrieve the value of the object named "key" and store it in "storage". If there are hints, pass them along to the object being retrieved to tell it how the value should be configured. Input Arguments: at least 4 1. Rp_Library *lib - pointer to Library object 2. const char *key - name of the object being retrieved 3. void *storage - where to place the value of the retrieved object 4. size_t numHints - number of hints provided 5. ... - hints listed as strings Return Value: None Notes: hints are listed as strings of the form "hintKey=hintVal". hintKey is the key for the hint and hintVal is the value to be applied to the hint. generally, unrecognized hints are ignored. the hints should be listed as comma separated strings in the function's argument list. Code Example: Rp_Chain *Rp_LibraryDiff(Rp_Library *lib1, Rp_Library *lib2); Purpose: find the difference between two library objects Input Arguments: 2 1. Rp_Library *lib1 - base object used in comparison 2. Rp_Library *lib2 - other object used in comparison Return Value: Linked list of differences Notes: None Code Example: void Rp_LibraryRemove (Rp_Library *lib, const char *key); Purpose: remove the object from this library named "key" Input Arguments: 2 1. Rp_Library *lib - pointer to Library object 2. const char *key - name of the object to remove Return Value: None Notes: The object is removed and it's memory is deleted Code Example: const char *Rp_LibraryXml(Rp_Library *lib) const; Purpose: return the Rappture1.1 xml representation of the objects stored in this library. Input Arguments: 1 1. Rp_Library *lib - pointer to Library object Return Value: None Notes: user is responsible for free'ing returned memory? Code Example: Outcome *Rp_LibraryOutcome(Rp_Library *lib) const; Purpose: return the status of the object Input Arguments: 1 1. Rp_Library *lib - pointer to Library object Return Value: status of the object Notes: None Code Example: int Rp_LibraryError(Rp_Library *lib) const; Purpose: return the status of the object Input Arguments: 1 1. Rp_Library *lib - pointer to Library object Return Value: status of the object Notes: None Code Example: Outcome *Rp_LibraryResult(Rp_Library *lib, int status); Purpose: write the stored objects to a data file and signal the end of processing. Input Arguments: 2 1. Rp_Library *lib - pointer to Library object 2. int status - status of the simulation Return Value: None Notes: currently data file are written out as Rappture1.1 xml. this function generates the RAPPTURE-RUN=> signal. Code Example: const Rp_Chain *Rp_LibraryContains(Rp_Library *lib) const; Purpose: return a linked list of the Rappture objects stored in this library. Input Arguments: 1 1. Rp_Library *lib - pointer to Library object Return Value: linked list of the Rappture objects stored in this library. Notes: None Code Example: