* Med nmpsappl_MirrorInit initierar man en spegling genom att ange de celler som ska speglas.
* Man fr till baka en context som anvnds fr att skilja olika speglingar t.
* Efter initieringen anropas nmpsappl_Mirror cykliskt fr att f information om cellinnehllet.
* nmpsappl_MirrorInit initiates a mirroring by specifying the cells that should
* be mirrored.
*
*
*@return pwr_tStatus
* Use nmpsappl_Mirror to fetch the mirrored data structure.
*
* 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
nmpsappl_MirrorInit(
pwr_tString80*cell_array,/**< En vektor som innehller namnet p de celler som ska speglas.
De speglade dataobjekten ordnas i den ordning cellerna anges i vektorn.
En NULL-string markerar sista cellnamnet. */
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*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. */
unsignedlongoptions,/**< Bitmask specifying options for the mirroring.*/
nmpsappl_t_ctx*ctx/**< Context pointer. */
)
{
pwr_tString80*cellname;
...
...
@@ -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.
* Listan r av typen nmpsappl_t_datainfo. (lnk till structdef?)
* nmpsappl_Mirror mirrors the content of one or several cells into an application
* program.
*
* nmpsappl_mirror speglar innehllet i en eller flera celler till ett applikationsprogram.
* Funktionen hanterar direktlnkning av celler och dataobjekt och returnerar ej lista p dataobjekt till applikationen,
* tillsammans med information om bakkant, framkant, utval, vilka objekt som r nya eller har frsvunnit, vilken cell ett objekt tillhr.
* Applikationen frses ven med pekare till dataobjekten.
*
* Man initierar en spegling genom att anropar rutinen nmpsappl_MirrorInit.
* Som argument skickar man med en lista p de celler som ska speglas.
* Sedan anropas nmpsappl_Mirror cykliskt fr att f information om vilka dataobjekt som ligger i cellerna.
* Alla dataobjekt som finns i den angivna cellerna bakas ihop i en vektor,
* och ordningen bestmms av den ordning man angivit cellerna till nmpsappl_MirrorInit.
*
* 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
* The function handles direct link of cells and dataobjects, and returns a list of
* data objects to the application together with information about front, back, select
* properties, and which data objects are new or has disappeard. The application also
* receives a pointer to each data object.
*
* The mirroring is initiated by calling nmpsappl_MirrorInit. The cells are
* mirrored are specified in this call. Then nmpsappl_Mirror is called cyclic
* to recieve the current content of the cells. All the dataobjects found in the
* cells are placed in an array, and the order the cells was specified in
* nmpsappl_MirrorInit determines the order in the dataobject array.
*
* Several mirroring can be handled in the same application (max 32), and each
pwr_tString80name;/**< Dataobjektet namn (sista namnledet) */
pwr_tAddressobject_ptr;/**< Pekare till dataobjektet */
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_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. */
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. */
pwr_tBooleannewdata;/**< Markerar att ett dataobjekt r nytt sedan senaste speglingen.*/
pwr_tBooleanremoved;/**< Markerar att dataobjektet har frsvunnit sedan senaste speglingen. Krver att nmpsappl_mOption_Remove har angetts i options. */
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. */
pwr_tObjidobjid;/**< Dataobject objid */
pwr_tString80name;/**< Dataobject name (last segment) */
pwr_tAddressobject_ptr;/**< Pointer to data object */
pwr_tBooleanselect;/**< The select attribute for the dataobject in the
cell object. If the dataobject is present in several
cells, select is set if the dataobject is selected
in at least one of the cells. */
pwr_tBooleanfront;/**< The Front attribute for the dataobject in the cell
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,