/*-------------------------------------------------------------------
Fichier     : $monmodule$99.cpp
Objet       : Interface avec Up ! Kernel.

Module      : $Mon Module$
Auteur-Date : DUVAL-Jean-Pierre - Novembre 2003.
---------------------------------------------------------------------
                         Observations

Substituer $monmodule$ par le nom du module en minuscule -> upskrn.
Substituer $MonModule$ par le nom du module en maj/minuscule -> UpsKrn.
Substituer $Mon Module$ par le libelle du module  -> Up ! Kernel.
 
---------------------------------------------------------------------*/

#include "$monmodule$99.h"

/****************************************************************/
TypUpsVmAdresse UpsVmAPI *$MonModule$MethodeEnumererEnumeres(TypUpsVmSession *Session, 
   TypUpsVmAdresse *AdresseResultat, TypUpsVmAdresse *UpsObjet, TypPrmUpsVmEnumererEnumeres *UpsPrm)
/* Objet : Enumere les enumeres.                                */
/****************************************************************/
{
$MonModule$ChargerDictionnaire(Session);
return((*$MonModule$IntTrt$MonModule$D->EnteteMethodesModule.MethodeEnumererEnumeres)(Session,AdresseResultat,UpsObjet,UpsPrm));
}

/****************************************************************/
TypUpsVmAdresse UpsVmAPI *$MonModule$MethodeEnumererValeursEnumeres(TypUpsVmSession *Session, 
   TypUpsVmAdresse *AdresseResultat, TypUpsVmAdresse *UpsObjet, TypPrmUpsVmEnumererValeursEnumeres *UpsPrm)
/* Objet : Enumere les valeurs enumeres.                        */
/****************************************************************/
{
$MonModule$ChargerDictionnaire(Session);
return((*$MonModule$IntTrt$MonModule$D->EnteteMethodesModule.MethodeEnumererValeursEnumeres)(Session,AdresseResultat,UpsObjet,UpsPrm));
}

/****************************************************************/
TypUpsVmAdresse UpsVmAPI *$MonModule$MethodeEnumererEntrepots(TypUpsVmSession *Session, 
   TypUpsVmAdresse *AdresseResultat, TypUpsVmAdresse *UpsObjet, TypPrmUpsVmEnumererEntrepots *UpsPrm)
/* Objet : Enumere les entrepots.                              */
/****************************************************************/
{
$MonModule$ChargerDictionnaire(Session);
return((*$MonModule$IntTrt$MonModule$D->EnteteMethodesModule.MethodeEnumererEntrepots)(Session,AdresseResultat,UpsObjet,UpsPrm));
}

/****************************************************************/
TypUpsVmAdresse UpsVmAPI *$MonModule$MethodeEnumererTypes(TypUpsVmSession *Session, 
   TypUpsVmAdresse *AdresseResultat, TypUpsVmAdresse *UpsObjet, TypPrmUpsVmEnumererTypes *UpsPrm)
/* Objet : Enumere les types.                                   */
/****************************************************************/
{
$MonModule$ChargerDictionnaire(Session);
return((*$MonModule$IntTrt$MonModule$D->EnteteMethodesModule.MethodeEnumererTypes)(Session,AdresseResultat,UpsObjet,UpsPrm));
}

/****************************************************************/
TypUpsVmAdresse UpsVmAPI *$MonModule$MethodeEnumererVariables(TypUpsVmSession *Session, 
   TypUpsVmAdresse *AdresseResultat, TypUpsVmAdresse *UpsObjet, TypPrmUpsVmEnumererVariables *UpsPrm)
/* Objet : Enumere les variables.                               */
/****************************************************************/
{
$MonModule$ChargerDictionnaire(Session);
return((*$MonModule$IntTrt$MonModule$D->EnteteMethodesModule.MethodeEnumererVariables)(Session,AdresseResultat,UpsObjet,UpsPrm));
}

/****************************************************************/
TypUpsVmAdresse UpsVmAPI *$MonModule$MethodeEnumererExceptions(TypUpsVmSession *Session, 
   TypUpsVmAdresse *AdresseResultat, TypUpsVmAdresse *UpsObjet, TypPrmUpsVmEnumererExceptions *UpsPrm)
/* Objet : Enumere les exceptions.                              */
/****************************************************************/
{
$MonModule$ChargerDictionnaire(Session);
return((*$MonModule$IntTrt$MonModule$D->EnteteMethodesModule.MethodeEnumererExceptions)(Session,AdresseResultat,UpsObjet,UpsPrm));
}

/****************************************************************/
TypUpsVmAdresse UpsVmAPI *$MonModule$MethodeEnumererAppels(TypUpsVmSession *Session, 
   TypUpsVmAdresse *AdresseResultat, TypUpsVmAdresse *UpsObjet, TypPrmUpsVmEnumererAppels *UpsPrm)
/* Objet : Enumere les appels.                                  */
/****************************************************************/
{
$MonModule$ChargerDictionnaire(Session);
return((*$MonModule$IntTrt$MonModule$D->EnteteMethodesModule.MethodeEnumererAppels)(Session,AdresseResultat,UpsObjet,UpsPrm));
}

/****************************************************************/
TypUpsVmVoid UpsVmAPI $MonModule$MethodeEcrireVariable(TypUpsVmSession *Session, 
   TypUpsVmAdresse *UpsObjet, TypPrmUpsVmEcrireVariable *UpsPrm)
/* Objet : Ecrit une variable.                                  */
/****************************************************************/
{
$MonModule$ChargerLienUpsNet(Session);
(*$MonModule$IntTrt$MonModule$SU->EnteteMethodesModule.MethodeEcrireVariable)(Session, 
   UpsObjet,UpsPrm);
}

/****************************************************************/
TypUpsVmVoid UpsVmAPI $MonModule$MethodeLireVariable(TypUpsVmSession *Session, 
   TypUpsVmAdresse *AdresseResultat, TypUpsVmAdresse *UpsObjet, TypPrmUpsVmLireVariable *UpsPrm)
/* Objet : Lit une variable.                                    */
/****************************************************************/
{
$MonModule$ChargerLienUpsNet(Session);
(*$MonModule$IntTrt$MonModule$SU->EnteteMethodesModule.MethodeLireVariable)(Session, 
   AdresseResultat,UpsObjet,UpsPrm);
}

/****************************************************************/
TypUpsVmVoid UpsVmAPI $MonModule$MethodeIncrementerDecrementerVariable(TypUpsVmSession *Session, 
   TypUpsVmAdresse *AdresseResultat, TypUpsVmAdresse *UpsObjet, TypPrmUpsVmIncrementerDecrementerVariable *UpsPrm)
/* Objet : Incremente ou decremente la valeur d'une variable.   */
/****************************************************************/
{
$MonModule$ChargerLienUpsNet(Session);
(*$MonModule$IntTrt$MonModule$SU->EnteteMethodesModule.MethodeIncrementerDecrementerVariable)(Session, 
   AdresseResultat,UpsObjet,UpsPrm);
}

/****************************************************************/
TypUpsVmShort UpsVmAPI $MonModule$Initialiser99(TypUpsVmVoid)
/* Objet : Initialisation du composant.							    */
/****************************************************************/
{
if ($MonModule$IntDon$MonModule$->EnteteDonneesModule.EnteteSegmentDonnees.NbUtilisations!=1)
   return(1);
return(1);
}

/****************************************************************/
TypUpsVmVoid UpsVmAPI $MonModule$Terminer99(TypUpsVmVoid)
/* Objet : Terminaison du composant.         				       */
/****************************************************************/
{
}

/****************************************************************/
TypUpsVmVoid UpsVmAPI $MonModule$Demarrer99(TypUpsVtmSegmentsDonnees *SegmentsDonnees)
/* Objet : Demarrage du composant.	  						          */
/****************************************************************/
{
SegmentsDonnees->Protege.Taille=0;
SegmentsDonnees->Protege.Donnees=(TypUpsVmPointeurDonnees *)NULL;
SegmentsDonnees->Prive.Taille=0;
SegmentsDonnees->Prive.Donnees=(TypUpsVmPointeurDonnees *)NULL;
}