* Med nmpsappl_MirrorInit initierar man en spegling genom att ange de celler som ska speglas.
* nmpsappl_MirrorInit initiates a mirroring by specifying the cells that should
* Man fr till baka en context som anvnds fr att skilja olika speglingar t.
* be mirrored.
* Efter initieringen anropas nmpsappl_Mirror cykliskt fr att f information om cellinnehllet.
*
*
*
* Use nmpsappl_Mirror to fetch the mirrored data structure.
*@return pwr_tStatus
*
* The option argument is a bitmask where the bits specifies different functions
* in nmpsappl_mirror:
* - nmpsappl_mOption_Remove Dataobject that is removed since the last call of
* nmpsappl_Mirror is added to the dataobject list with the remove flags set.
* - nmpsappl_mOption_NamePath The name field for a dataobject in the datastructure
* returned by nmpsappl_Mirror contains the path.
*
* @see nmpsappl_Mirror
* @return pwr_tStatus
*/
*/
pwr_tStatus
pwr_tStatus
nmpsappl_MirrorInit(
nmpsappl_MirrorInit(
pwr_tString80*cell_array,/**< En vektor som innehller namnet p de celler som ska speglas.
pwr_tString80*cell_array,/**< A string array with the names of the cells that should be mirrored. The element after the last cellname should be a NULL string. */
De speglade dataobjekten ordnas i den ordning cellerna anges i vektorn.
unsignedlongoptions,/**< Bitmask specifying options for the mirroring.*/
En NULL-string markerar sista cellnamnet. */
nmpsappl_t_ctx*ctx/**< Context pointer. */
unsignedlongoptions,/**< Options r en bitmask. Bitarna anger olika funktioner fr nmpsappl_mirror:
nmpsappl_mOption_Remove - Dataobjekt som har frsvunnit frn de angivna cellerna sedan senaste
anropet lggs med i dataobjektlistan med remove-flaggan satt.
nmpsappl_mOption_NamePath - Namnfltet i den datastruktur som returneras fr ett dataobjekt
p dataobjektet innehller hierarkinamnet. */
nmpsappl_t_ctx*ctx/**< En kontext-pekare som skickas med till nmpsappl_mirror rutinen. */
)
)
{
{
pwr_tString80*cellname;
pwr_tString80*cellname;
...
@@ -422,64 +424,58 @@ nmpsappl_MirrorInit(
...
@@ -422,64 +424,58 @@ nmpsappl_MirrorInit(
}
}
/**
/**
*@brief Anropas cykliskt fr att uppdatera speglingen.
*@brief Update mirroring.
*
*
* Rutinen fyller i en lista p samtliga dataobjekt som finns i cellerna.
* nmpsappl_Mirror mirrors the content of one or several cells into an application
* Listan r av typen nmpsappl_t_datainfo. (lnk till structdef?)
* program.
*
*
* nmpsappl_mirror speglar innehllet i en eller flera celler till ett applikationsprogram.
* The function handles direct link of cells and dataobjects, and returns a list of
* Funktionen hanterar direktlnkning av celler och dataobjekt och returnerar ej lista p dataobjekt till applikationen,
* data objects to the application together with information about front, back, select
* tillsammans med information om bakkant, framkant, utval, vilka objekt som r nya eller har frsvunnit, vilken cell ett objekt tillhr.
* properties, and which data objects are new or has disappeard. The application also
* Applikationen frses ven med pekare till dataobjekten.
* receives a pointer to each data object.
*
*
* Man initierar en spegling genom att anropar rutinen nmpsappl_MirrorInit.
* The mirroring is initiated by calling nmpsappl_MirrorInit. The cells are
* Som argument skickar man med en lista p de celler som ska speglas.
* mirrored are specified in this call. Then nmpsappl_Mirror is called cyclic
* Sedan anropas nmpsappl_Mirror cykliskt fr att f information om vilka dataobjekt som ligger i cellerna.
* to recieve the current content of the cells. All the dataobjects found in the
* Alla dataobjekt som finns i den angivna cellerna bakas ihop i en vektor,
* cells are placed in an array, and the order the cells was specified in
* och ordningen bestmms av den ordning man angivit cellerna till nmpsappl_MirrorInit.
* nmpsappl_MirrorInit determines the order in the dataobject array.
*
* Flera speglingar (max 32 st) kan hanteras i samma program, och varje spegling omfattar maximalt 32 celler.
* Samma cell kan tillhra flera speglingar.
* Man kan t ex spegla samtliga celler i systemet i en array, samtidigt som man speglar enstaka celler, eller urval av celler i andra arrayer.
*
*
* Exempel
*
*
* Several mirroring can be handled in the same application (max 32), and each
pwr_tString80name;/**< Dataobjektet namn (sista namnledet) */
pwr_tString80name;/**< Dataobject name (last segment) */
pwr_tAddressobject_ptr;/**< Pekare till dataobjektet */
pwr_tAddressobject_ptr;/**< Pointer to data object */
pwr_tBooleanselect;/**< Select-attributet fr dataobjektet i cell-objektet. Om ett dataobjekt ligger i flera celler, stts select om objektet r utvalt i minst en av cellerna. */
pwr_tBooleanselect;/**< The select attribute for the dataobject in the
pwr_tBooleanfront;/**< Front-attributet fr dataobjektet i cell-objektet. Om ett dataobjekt ligger i flera celler, stts front om front-flaggen r satt i en av cellerna. */
cell object. If the dataobject is present in several
pwr_tBooleanback;/**< Back-attributet fr dataobjektet i cell-objektet. Om ett dataobjekt ligger i flera celler, stts back om back-flaggen r satt i en av cellerna. */
cells, select is set if the dataobject is selected
pwr_tBooleannewdata;/**< Markerar att ett dataobjekt r nytt sedan senaste speglingen.*/
in at least one of the cells. */
pwr_tBooleanremoved;/**< Markerar att dataobjektet har frsvunnit sedan senaste speglingen. Krver att nmpsappl_mOption_Remove har angetts i options. */
pwr_tBooleanfront;/**< The Front attribute for the dataobject in the cell
unsignedlongcell_mask;/**< Anger vilken eller vilka celler dataobjektet befinner sig i. cell_mask r en bitmask dr frsta biten anger frsta cellen (dvs den som angivits frst i listan till nmpsappl_mirror_init), osv. */
object. If the dataobject is present in several
cells, front is set if the Front flag is set in one
of the cells. */
pwr_tBooleanback;/**< The Back attribute for the dataobject in the cell
object. If the dataobject is present in several
cells, back is set if the Back flag is set in one
of the cells. */
pwr_tBooleannewdata;/**< Marks that a data object is new since the last
mirror. */
pwr_tBooleanremoved;/**< Marks that the dataobject has disappeard since
the last mirror. Requires the the option
nmpsappl_mOption_Remove is selected. */
unsignedlongcell_mask;/**< Mask that specifies in which cell or which
cells the dataobject resides. The first bit
corresponds to the first cell, i.e. the first
cell in cell list supplied to nmpsappl_MirrorInit,