Source Composant "Up ! Object Request Broker Server" Version 4.0.0;
ImporterModule
/************/
UpsOrb(<UpsOrb.upi>, ImporterDefinitions);
Parametre >upsorb< Section "UpsOrb"
/*********************************/
Prive :
/*****/
Action : Nul Ou Caractere;
Detail : Booleen;
Entete : Booleen;
NomDeLAnnuaire "NomAnnuaire" : Nul Ou Caractere;
Chemin : Nul Ou Caractere;
SourceAnnuaire "Source": Nul Ou Caractere;
Prive :
/*****/
Fonction ExecuterCreerAnnuaire() Retourner Entier
/***********************************************/
Variable
/******/
A : Nul Ou Annuaire;
Debut
Si NomDeLAnnuaire==Nul Alors
Ecran.Ecrire(Message(UpsOrb,"UsageUpsSecCreerAnnuaire"));
Fin Si
Retourner 1;
Si Detail Alors
Ecran.Ecrire(Message(UpsOrb,"CreationDeLAnnuaire",NomDeLAnnuaire));
Fin Si
A=Annuaire(NomDeLAnnuaire);
A.MarquerModifie();
A.Enregistrer();
Ecran.Ecrire(Message(UpsOrb,"CreationAnnuaireTerminee", NomDeLAnnuaire));
Retourner 0;
Fin Fonction
Procedure EnvoyerMessage(MessageEnvoye : Caractere, ? : Entier, ? : Entier, ? : Nul Ou Caractere)
/***********************************************************************************************/
Debut
Ecran.Ecrire(MessageEnvoye);
Fin Procedure
Fonction ExecuterExporterAnnuaire() Retourner Entier
/**************************************************/
Variable
/******/
A : Nul Ou Annuaire;
Debut
Si NomDeLAnnuaire==Nul Ou SourceAnnuaire==Nul Alors
Ecran.Ecrire(Message(UpsOrb,"UsageUpsSecExporterAnnuaire"));
Fin Si
Retourner 1;
Si Detail Alors
Ecran.Ecrire(Message(UpsOrb,"ExportationDeLAnnuaire", SourceAnnuaire));
Sinon
A=Annuaire(NomDeLAnnuaire);
Si A.Exporter(SourceAnnuaire, Chemin, EnvoyerMessage) Alors
Ecran.Ecrire(Message(UpsOrb, "ExportationAnnuaireTermineeAvecSucces", SourceAnnuaire));
Sinon
Retourner 0;
Ecran.Ecrire(Message(UpsOrb,"ExportationAnnuaireTermineeEnEchec", SourceAnnuaire));
Fin Si
Retourner 1;
A=Annuaire(NomDeLAnnuaire);
Fin Si
Si A.Exporter(SourceAnnuaire, Chemin, Nul) Alors
Ecran.Ecrire(Message(UpsOrb, "ExportationAnnuaireTermineeAvecSucces", SourceAnnuaire));
Sinon
Retourner 0;
Ecran.Ecrire(Message(UpsOrb, "ExportationAnnuaireTermineeEnEchec", SourceAnnuaire));
Fin Si
Retourner 1;
Retourner 0;
Fin Fonction
Fonction ExecuterImporterAnnuaire() Retourner Entier
/**************************************************/
Variable
/******/
A : Nul Ou Annuaire;
Debut
Si NomDeLAnnuaire==Nul Ou SourceAnnuaire==Nul Alors
Ecran.Ecrire(Message(UpsOrb, "UsageUpsSecImporterAnnuaire"));
Fin Si
Retourner 1;
Si Detail Alors
Ecran.Ecrire(Message(UpsOrb,"ImportationDeLAnnuaire", SourceAnnuaire));
Sinon
A=Annuaire(NomDeLAnnuaire);
Si A.Importer(SourceAnnuaire, EnvoyerMessage) Alors
Ecran.Ecrire(Message(UpsOrb,"ImportationAnnuaireTermineeAvecSucces", SourceAnnuaire));
Sinon
Retourner 0;
Ecran.Ecrire(Message(UpsOrb, "ImportationAnnuaireTermineeEnEchec", SourceAnnuaire));
Fin Si
Retourner 1;
Si A.Importer(SourceAnnuaire, Nul) Alors
Fin Si
Ecran.Ecrire(Message(UpsOrb, "ImportationAnnuaireTermineeAvecSucces", SourceAnnuaire));
Sinon
Retourner 0;
Ecran.Ecrire(Message(UpsOrb, "ImportationAnnuaireTermineeEnEchec", SourceAnnuaire));
Fin Si
Retourner 1;
Retourner 0;
Fin Fonction
Fonction ExecuterSupprimerAnnuaire() Retourner Entier
/***************************************************/
Variable
/******/
A : Nul Ou Annuaire;
Debut
Si NomDeLAnnuaire==Nul Alors
Ecran.Ecrire(Message(UpsOrb, "UsageUpsSecSupprimerAnnuaire"));
Fin Si
Retourner 1;
Si Detail Alors
Ecran.Ecrire(Message(UpsOrb,"SuppressionDeLAnnuaire", NomDeLAnnuaire));
Fin Si
A=Annuaire(NomDeLAnnuaire);
A.Supprimer();
Ecran.Ecrire(Message(UpsOrb, "SuppressionAnnuaireTerminee", NomDeLAnnuaire));
Retourner 0;
Fin Fonction
Procedure PrincipalServeur()
/**************************/
Variable
/*******/
I:Entier;
NomDuServeur : Nul Ou Caractere;
NomDuParametre : Caractere;
ModuleUpsFts : Nul Ou Module;
ModuleUpsCns : Nul Ou Module;
ModuleUpsMls : Nul Ou Module;
ModuleUpsDrs : Nul Ou Module;
Debut
Journal.Ecrire(Message(Global,"DemarrageUpsOrb",Caractere(DateSysteme())));
Si EstLeServeurMaitre Alors
ChargerConfiguration();
Sinon
DemarrerNoeud();
Fin Si
LireConfiguration();
I=1;
TantQue Vrai Faire
NomDuParametre=Traduire(Global,SectionParametre,"Serveur")+Caractere(I,"&&");
Fin TantQue
Si Non(LireParametre(Global,NomDuParametre,"UpsOrb",NomDuServeur)) Alors
Arreter;
Fin Si
Selon NomDuServeur Faire
Cas Pour "UpsFts" Faire
Fin Selon
ModuleUpsFts=Module(NomDuServeur, 2, 0, 0);
Fin Cas
Cas Pour "UpsCns" Faire
ModuleUpsCns=Module(NomDuServeur, 2, 0, 0);
Fin Cas
Cas Pour "UpsMls" Faire
ModuleUpsMls=Module(NomDuServeur, 2, 0, 0);
Fin Cas
Cas Pour "UpsDrs" Faire
ModuleUpsDrs=Module(NomDuServeur, 2, 0, 0);
Fin Cas
Defaut
DemarrerService(NomDuServeur);
Fin Defaut
I++;
AttraperException
TantQue Vrai Faire
TraiterException
Attendre(60.0);
Fin TantQue
Cas Pour ArretProgramme Faire
Fin AttraperException
Journal.Ecrire(Message(Global,"ArretUpsOrb",Caractere(DateSysteme())));
Fin Cas
Defaut
Journal.Ecrire(Message(Global,"ExceptionRecue",Caractere(DateSysteme())));
Fin Defaut
Journal.Ecrire(Exception.MessageErreur);
Exception.Renvoyer();
Si EstLeServeurMaitre Alors
ArreterServeursUpsOrb();
Sinon
ArreterNoeud(NomNoeud);
Fin Si
ArreterServeursLocaux();
EnregistrerConfiguration();
Fin Procedure
Principal
/*******/
Debut
Si Entete Alors
Ecran.Ecrire(Message(UpsOrb, "PresentationUpsOrb1")+"\n");
Fin Si
Ecran.Ecrire(Message(UpsOrb, "PresentationUpsOrb2", Caractere(DateSysteme(),FiltreDate),Caractere(DateSysteme(),FiltreHeure))+"\n");
Si Action!=Nul Alors
Selon Action Faire
Sinon
Cas Pour Traduire(UpsOrb, SectionDivers, "CreerAnnuaire") Faire
Fin Selon
Retourner ExecuterCreerAnnuaire();
Fin Cas
Cas Pour Traduire(UpsOrb, SectionDivers, "ExporterAnnuaire") Faire
Retourner ExecuterExporterAnnuaire();
Fin Cas
Cas Pour Traduire(UpsOrb, SectionDivers, "ImporterAnnuaire") Faire
Retourner ExecuterImporterAnnuaire();
Fin Cas
Cas Pour Traduire(UpsOrb, SectionDivers, "SupprimerAnnuaire") Faire
Retourner ExecuterSupprimerAnnuaire();
Fin Cas
Defaut
Ecran.Ecrire(Message(UpsOrb, "UsageUpsOrb"));
Fin Defaut
Retourner 1;
PrincipalServeur();
Fin Si
Fin Principal