Commit 7e1fbcf4 authored by claes's avatar claes

Doxygen modifications

parent 86845377
/*
* Proview $Id: nmps_appl.c,v 1.1 2006-01-12 05:57:43 claes Exp $
* Proview $Id: nmps_appl.c,v 1.2 2006-06-08 04:28:12 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
......@@ -260,10 +260,28 @@ static pwr_tStatus nmpsappl_cell_init(
return NMPS__SUCCESS;
}
pwr_tStatus nmpsappl_MirrorInit( pwr_tString80 *cell_array,
unsigned long options,
nmpsappl_t_ctx *ctx)
/**
*@brief Initierar spegling.
*
* 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.
*
*
*@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. */
unsigned long options, /**< 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;
nmpsappl_t_basectx basectx;
......@@ -398,10 +416,86 @@ pwr_tStatus nmpsappl_MirrorInit( pwr_tString80 *cell_array,
return NMPS__SUCCESS;
}
pwr_tStatus nmpsappl_Mirror( nmpsappl_t_ctx applctx,
int *data_count,
nmpsappl_t_datainfo **datainfo)
/**
*@brief Anropas cykliskt fr att uppdatera speglingen.
*
* Rutinen fyller i en lista p samtliga dataobjekt som finns i cellerna.
* Listan r av typen nmpsappl_t_datainfo. (lnk till structdef?)
*
* 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
*
* #include "pwr_inc:pwr.h"
* #include "ssab_inc:rs_nmps_appl.h"
* #include "pwrp_inc:pwr_cvolvkvendclasses.h"
*
* main()
* {
* nmpsappl_t_ctx ctx;
* int i;
* int plate_count;
* nmpsappl_t_datainfo *plate_info;
* pwr_tStatus sts;
* pwr_sClass_Plate *plate_ptr;
* pwr_tString80 cellnames[] = {
* "VKV-END-PF-Pltfljning-W-Svb15",
* "VKV-END-PF-Pltfljning-W-R30A",
* ""};
*
* // Init pams and gdh
* sts = gdh_Init( 0, NULL);
* if (EVEN(sts)) LogAndExit( sts);
*
* // Init the mirroring
* sts = nmpsappl_MirrorInit( cellnames,
* nmpsappl_mOption_Remove, &ctx);
* if (EVEN(sts)) exit(sts);
*
* for (;;)
* {
* sts = nmpsappl_Mirror( ctx, &plate_count,
* &plate_info);
*
* for ( i = 0; i < plate_count; i++)
* {
* plate_ptr = plate_info[i].object_ptr;
* printf( "%20s %1d %1d %1d %1d %1d %4d %5.1f\n",
* plate_info[i].name,
* plate_info[i].front,
* plate_info[i].back,
* plate_info[i].select,
* plate_info[i].new,
* plate_info[i].removed,
* plate_info[i].cell_mask,
* plate_ptr->Tjocklek);
* }
* sleep( 1);
* }
* }
*
*@return pwr_tStatus
*/
pwr_tStatus
nmpsappl_Mirror(
nmpsappl_t_ctx applctx, /**< En kontext-pekare som erhlls vid anrop till nmpsappl_mirror_init. */
int *data_count, /**< Antal dataobjekt i dataobjekts-listan. */
nmpsappl_t_datainfo **datainfo /**<Lista p dataobjekten i cellerna. */
)
{
int i, j, k;
int found;
......@@ -650,10 +744,17 @@ pwr_tStatus nmpsappl_Mirror( nmpsappl_t_ctx applctx,
return NMPS__SUCCESS;
}
pwr_tStatus nmpsappl_RemoveData(
nmpsappl_t_ctx applctx,
pwr_tObjid objid)
/**
*@brief Tar bort ett dataobjekt ur de celler som speglas.
*
*
*@return pwr_tStatus
*/
pwr_tStatus
nmpsappl_RemoveData(
nmpsappl_t_ctx applctx, /**< Kontext-pekare som erhlls vid anrop till nmpsappl_mirror_init. */
pwr_tObjid objid /**< Objid fr dataobjekt som ska tas bort. */
)
{
int k;
nmpsappl_t_cellist *cellist_ptr;
......@@ -681,9 +782,19 @@ pwr_tStatus nmpsappl_RemoveData(
return NMPS__SUCCESS;
}
pwr_tStatus nmpsappl_RemoveAndDeleteData(
nmpsappl_t_ctx applctx,
pwr_tObjid objid)
/**
*@brief Tar bort ett dataobjekt ur de celler som speglas.
*
* Tar bort ett dataobjekt ur de celler som speglas. Dessutom tas objektet bort ur databasen.
*
*@return pwr_tStatus
*/
pwr_tStatus
nmpsappl_RemoveAndDeleteData(
nmpsappl_t_ctx applctx, /**< Kontext-pekare som erhlls vid anrop till nmpsappl_mirror_init. */
pwr_tObjid objid /**< Objid fr dataobjekt som ska tas bort. */
)
{
int sts, k;
nmpsappl_t_cellist *cellist_ptr;
......
/*
* Proview $Id: nmps_appl.h,v 1.1 2006-01-12 05:57:43 claes Exp $
* Proview $Id: nmps_appl.h,v 1.2 2006-06-08 04:28:12 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
......@@ -23,6 +23,14 @@
/* ra_nmps_appl.h -- <short description>
NMps API. */
/*! \file nmps_appl.h
\brief Type definitions for NMps.
This include file contains the Proview NMps type definitions.
*/
/** @addtogroup NMps */
/*@{*/
#if defined __cplusplus
extern "C" {
#endif
......@@ -37,6 +45,13 @@ extern "C" {
#define nmpsappl_mOption_NamePath (1 << 1)
#define nmpsappl_mOption_ReverseOrder (1 << 2)
/** @defgroup NMPS_DS Data Structures
* @ingroup NMps
* @{
*/
typedef struct nmpsappl_s_cellist {
pwr_tString80 name;
pwr_tObjid objid;
......@@ -50,15 +65,15 @@ typedef struct nmpsappl_s_cellist {
} nmpsappl_t_cellist;
typedef struct {
pwr_tObjid objid;
pwr_tString80 name;
pwr_tAddress object_ptr;
pwr_tBoolean select;
pwr_tBoolean front;
pwr_tBoolean back;
pwr_tBoolean newdata;
pwr_tBoolean removed;
unsigned long cell_mask;
pwr_tObjid objid; /**< Dataobjektets objid */
pwr_tString80 name; /**< Dataobjektet namn (sista namnledet) */
pwr_tAddress object_ptr; /**< Pekare till dataobjektet */
pwr_tBoolean select; /**< 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_tBoolean front; /**< 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_tBoolean back; /**< 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_tBoolean newdata; /**< Markerar att ett dataobjekt r nytt sedan senaste speglingen.*/
pwr_tBoolean removed; /**< Markerar att dataobjektet har frsvunnit sedan senaste speglingen. Krver att nmpsappl_mOption_Remove har angetts i options. */
unsigned long cell_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. */
} nmpsappl_t_datainfo;
typedef struct nmpsappl_s_ctx {
......@@ -73,6 +88,13 @@ typedef struct nmpsappl_s_ctx {
struct nmpsappl_s_ctx *next;
} *nmpsappl_t_ctx;
/** @} */
/**
* @defgroup NMPS_FC Function Calls
* @ingroup NMps
* @{
*/
pwr_tStatus nmpsappl_MirrorInit( pwr_tString80 *cell_array,
unsigned long options,
nmpsappl_t_ctx *ctx);
......@@ -108,3 +130,6 @@ pwr_tStatus nmpsappl_RemoveAndKeepData(
}
#endif
#endif
/** @} */
/** @} */
/*
* Proview $Id: rt_appl.h,v 1.4 2005-12-13 15:14:27 claes Exp $
* Proview $Id: rt_appl.h,v 1.5 2006-06-08 04:28:12 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
......@@ -34,7 +34,6 @@
/*! rt_appl is a baseclass for applications, where the subclasses should
implement the virtual functions open(), close() and scan().
*/
class rt_appl {
public:
rt_appl( char *name, errh_eAnix anix,
......@@ -63,3 +62,4 @@ class rt_appl {
#endif
/** @} */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment