/* * $Header: */ /** * Ce fichier permet de décrire l'interface de l'objet réparti XInstallation. * L'objet XInstallation permet de gérer les accès aux sites d'une installation, * aux points d'entrée ainsi qu'à la configuration de l'installation X elle-même * (e.g. journal). * * @author * @version $Revision: 1.11 $ */ #ifndef _idl_XInstallation #define _idl_XInstallation 1 // Objet Installation X interface XInstallation { //------------------------- Types //------------------------- Echanges /** * Définition d'un fichier d'échanges. * @member filename Nom du fichier d'échanges * @member data Données du fichier d'échanges */ struct TexchangeFile { string filename ; sequence<octet> data ; }; /** * Définition d'une liste de fichiers d'échanges. */ typedef sequence<TexchangeFile> TexchangeFiles ; /** * Définition du support final d'un échange de fichier * @member E_TAR_FILE Le support final est un fichier tar * @member E_DAT_FILE Le support final est un fichier tar sur DAT */ enum TexchangeOutput { E_TAR_FILE, E_DAT_FILE }; /** * Définition du filtre de sélection des archives sur le serveur applicatif. * @member E_ALL_FILTER Filtre de sélection de tous les fichiers * @member E_POLL_FILTER Filtre de sélection d'archives d'enquêtes * @member E_DICTIONARY_FILTER Filtre de sélection d'archives de dictionnaire * @member E_LIBRARY_FILTER Filtre de sélection d'archives de bibliothèques * @member E_USER_FILTER Filtre de sélection d'archives d'utilisateurs */ enum TexchangeFilter { E_ALL_FILTER, E_POLL_FILTER, E_DICTIONARY_FILTER, E_LIBRARY_FILTER, E_USER_FILTER }; /** * Définition d'une liste de données sous forme de chaînes de caractères. */ typedef sequence<string> TdataList ; //------------------------- Configuration /** * Définition d'une Configuration. * Une configuration correspond aux informations de base de l'installation * du serveur X. * @member releaseNumber Numéro de version du progiciel X installé * @member installUser Nom de la personne ayant réalisé l'installation * @member installDate Date de l'installation * @member historySize Taille maximale de journalisation des évènements * @member historyStyle Style de journalisation des évènements : quantité de jours(false) * ou quantité d'évènements(true) * @member hostName Nom du serveur X * @member comment Commentaire associé à la configuration */ struct Tconfiguration { string releaseNumber ; string installUser ; Tdate installDate ; unsigned long historySize ; boolean historyStyle ; string hostName ; string comment ; }; //------------------------- Journal /** * Définition d'un ID d'évènement du journal. * Cet ID permet le référencement unique de l'évènement. */ typedef unsigned long long TeventId ; /** * Définition d'une liste d'ID d'évènements du journal. */ typedef sequence<TeventId> TeventIds ; /** * Définition d'un évènement du journal. * Une ligne du journal représente une action réalisé par un point d'entrée * sur un objet X, cela s'appelle un évènement. * @member eventId Identifiant de l'évènement dans le journal * @member date Date et heure de l'évènement * @member data Donnée complète identifiant l'élément concerné par l'évènement * @member event Type d'action utilisée, valeur liée à la FUV * @member user Point d'entrée ayant provoqué l'évènement * @member target Type de l'élément concerné par l'évènement * @member status Etat final de l'évènement * @member mesageError Message d'erreur lors d'un échec de l'évènement * @member lastCommand Dernière requête SQL avant l'echec de l'évènement */ struct Tevent { TeventId eventId ; Tdate date ; string data ; string event ; string user ; string target ; boolean status ; string messageError ; string lastCommand ; }; /** * Définition d'une liste d'évènements. * Cette liste est composée des évènements présents dans le journal. * Par cette structure de retour, on récupère un éventuel dépassement * de la limite de la taille du journal. * @member events Liste des évènements * @member eventOverflow Dépassement de la limite du journal (en jours ou en nombre d'évènements) */ struct Thistory { sequence<Tevent> events ; unsigned long long eventOverflow ; }; //------------------------- Environnement IHM /** * Définition du type d'atelier. * @member E_ADMINISTRATION Atelier d'administration * @member E_DEFINITION Atelier de définition * @member E_MANAGEMENT Atelier de gestion * @member E_TEST Atelier de test */ enum Tworkshop { E_ADMINISTRATION, E_DEFINITION, E_MANAGEMENT, E_TEST }; /* * Définition d'un accesseur aux ressources graphiques. * Cet ID permet le référencement unique d'une ressource. * @param user Utilisateur de la ressource * @param workshop Atelier d'appartenance de la ressource */ struct TuserWorkshop { string user ; Tworkshop workshop ; }; /** * Définition d'un bouton de la barre d'outils. * Cette structure donne pour un bouton l'action associée et sa position * dans la barre. * @member button Numéro de bouton/action * @member order Position dans la barre d'outils */ struct TtoolbarButton { unsigned long button ; unsigned long order ; }; /** * Définition d'un signet. * Un signet est définit par son identifiant et l'objet qu'il référence. * @member name Nom du signet * @member reference Objet désigné par le signet */ struct Tbookmark { string name ; string reference ; }; /** * Définition d'une fenêtre graphique. * @member x Abscisse du coin supérieur gauche de la fenêtre * @member y Ordonnée du coin supérieur gauche de la fenêtre * @member width Largeur de la fenêtre * @member height Hauteur de la fenêtre */ struct Twindow { unsigned long x ; unsigned long y ; unsigned long width ; unsigned long height ; }; /** * Définition d'une fenêtre graphique d'un objet X. * @member url Url de l'objet représenté * @member ui Fenêtre représentant l'objet */ struct TobjectWindow { string url ; Twindow ui ; }; /** * Définition de l'expérience de l'utilisateur X. * @member E_NOVICE L'atelier est configuré pour un utilisateur débutant * @member E_NORMAL L'atelier est configuré pour un utilisateur normal * @member E_EXPERT L'atelier est configuré pour un utilisateur expert */ enum Tskill { E_NOVICE, E_NORMAL, E_EXPERT }; /** * Définition des options d'environnement ihm. * Cette structure sauvegarde les données de l'environnement graphique * pour l'utilisateur X. * @member environmentId Identifiant de l'environnement graphique * @member workshopWindow Taille et position de l'atelier * @member workshopMode Mode d'exploitation de l'atelier * @member catalogWidth Largeur du catalogue * @member messageHeight Hauteur de la fenêtre de messages * @member objectWindows Liste des fenêtres des objets X en cours de visualisation * @member toolbar Liste des boutons de la barre d'outils de l'utilisateur * @member isUserToolbarVisible Indicateur d'affichage de la barre d'outils utilisateur * @member isGenericToolbarVisible Indicateur d'affichage de la barre d'outils générique * @member bookmarks Liste des signets de l'utilisateur * @member printer Imprimante utilisée */ struct TuiEnvironment { TuserWorkshop environmentId ; Twindow workshopWindow ; Tskill workshopMode ; unsigned long catalogWidth ; unsigned long messageHeight ; sequence<TobjectWindow> objectWindows ; sequence<TtoolbarButton> toolbar ; boolean isUserToolbarVisible ; boolean isGenericToolbarVisible ; sequence<Tbookmark> bookmarks ; string printer ; }; //------------------------- Utilisateur /** * Définition d'un utilisateur X. * @member login Login d'identification pour la connexion au progiciel * @member password Mot de passe d'authentification pour la connexion * @member deletable Indicateur de suppression possible pour cet utilisateur. * @member administrationWorkshop Indicateur de connexion possible à l'atelier d'administration * @member managementWorkshop Indicateur de connexion possible à l'atelier de gestion * @member definitionWorkshop Indicateur de connexion possible à l'atelier de définition * @member testWorkshop Indicateur de connexion possible à l'atelier de test * @member functionShare Indicateur d'utilisateur X fonctionnel * @member firstName Prénom de l'utilisateur * @member lastName Nom de l'utilisateur * @member address Adresse de l'utilisateur * @member phoneNumber Numéro de téléphone de l'utilisateur * @member mobileNumber Numéro de téléphone mobile de l'utilisateur * @member email Adresse du courrier électronique de l'utilisateur * @member comment Commentaire associé à l'utilisateur */ struct Tuser { string login ; string password ; boolean deletable ; boolean administrationWorkshop ; boolean managementWorkshop ; boolean definitionWorkshop ; boolean testWorkshop ; boolean functionShare ; string firstName ; string lastName ; string address ; string phoneNumber ; string mobileNumber ; string email ; string comment ; }; /** * Définition d'une liste d'utilisateurs X. * Cette liste est composée uniquement d'utilisateurs. */ typedef sequence<Tuser> Tusers ; //------------------------- Site /** * Définition d'un site. * La représentation d'un site est scindée en deux :<BR> * <UL> * <LI> Ses données propres d'identification<BR> * <LI> Son contenu, i.e. les enquêtes, un dictionnaire et une bibliothèque<BR> * </UL> * Les opérations de cette interface permettent de manipuler les données propres. * Pour pouvoir accéder au contenu d'un site, il faut récupérer un objet réparti * XSite par le biais de la méthode getXSite. * @member siteId Identifiant du site * @member geographicLevel Niveau géographique du site * @member name Nom du site * @member automaticValidation Indicateur de validation automatique des zones * mises en validation dans le dictionnaire du site * @member comment Commentaire associé au site * @member login Login d'accès à la BD du site * @member passord Mot de passe d'accès à la BD du site */ struct Tsite { string siteId ; long geographicLevel ; string name ; boolean automaticValidation ; string comment ; string login ; string password ; }; /** * Définition d'une liste de sites. * Cette liste est composée uniquement de sites. */ typedef sequence<Tsite> Tsites ; //------------------------- FUV /** * Définition des codes des FUV. * @member E_FUV_ADD Ajout d'une zone * @member E_FUV_ADMINISTER Administration * @member E_FUV_CONTENT_ADD Ajout d'un contenu * @member E_FUV_CONTENT_EXPORT Exportation d'un contenu * @member E_FUV_CONTENT_IMPORT Importation d'un contenu * @member E_FUV_CONTENT_INTEGRATE Intégration d'un contenu * @member E_FUV_CONTENT_MODIFY Modification d'un contenu * @member E_FUV_CONTENT_REMOVE Suppression d'un contenu * @member E_FUV_CONTENT_RENAME Renommage d'un contenu * @member E_FUV_PLACEATDISPOSAL Mise à disposition d'un objet dans la bibliothèque * @member E_FUV_EXPORT Exportation d'un élément * @member E_FUV_IMPORT Importation d'un élément * @member E_FUV_INTEGRATE Intégration d'un élément * @member E_FUV_LOCK Verrouillage d'un élément * @member E_FUV_MANAGE Gestion d'un élément * @member E_FUV_MODIFY Modification d'un élément * @member E_FUV_PUTINTOVALIDATION Mise en validation dans le dictionnaire * @member E_FUV_REMOVE Suppression * @member E_FUV_RENAME Renommage * @member E_FUV_REPLACE Remplacement * @member E_FUV_RESTORE Restauration * @member E_FUV_SAVE Sauvegarde * @member E_FUV_TEST Test * @member E_FUV_UNLOCK Déverrouillage d'un élément * @member E_FUV_VALIDATE Validation d'une zone du dictionnaire */ enum TFUVCode { E_FUV_ADD, E_FUV_ADMINISTER, E_FUV_CONTENT_ADD, E_FUV_CONTENT_EXPORT, E_FUV_CONTENT_IMPORT, E_FUV_CONTENT_INTEGRATE, E_FUV_CONTENT_MODIFY, E_FUV_CONTENT_REMOVE, E_FUV_CONTENT_RENAME, E_FUV_PLACEATDISPOSAL, E_FUV_EXPORT, E_FUV_IMPORT, E_FUV_INTEGRATE, E_FUV_LOCK, E_FUV_MANAGE, E_FUV_MODIFY, E_FUV_PUTINTOVALIDATION, E_FUV_REMOVE, E_FUV_RENAME, E_FUV_REPLACE, E_FUV_RESTORE, E_FUV_SAVE, E_FUV_TEST, E_FUV_UNLOCK, E_FUV_VALIDATE }; /** * Définition d'un élément de FUV. * Un élément de FUV fait partie du triplet qui identifie une FUV. * @member site Site auquel appartient l'élément * @member element Enquête sélectionnée pour cette FUV * @member type Nature de l'objet X */ struct TFUVObject { string site ; string element ; TtpzKind kind ; }; /** * Définition d'une FUV. * Une FUV est un triplet donnant la fonctionnalité FUVCode à l'utilisateur login * sur l'objet X element. Cette structure complète permet de gérer aussi les cas * d'utilisateur et enquête à venir. * @member login Utilisateur de la FUV * @member FUVCode Fonctionnalité accordée à login sur element * @member element Objet X sur lequel peut intervenir login selon le FUVCode */ struct TFUV { string login ; TFUVCode FUVCode ; TFUVObject element ; }; /** * Définition d'une liste de FUVs. * Cette liste est composée de FUVs qui peuvent être * consultées par l'opération getUserFUVs. */ typedef sequence<TFUV> TFUVs ; //------------------------- Exceptions /** * Exception internalError. * @member message Informations supplémentaires sur la nature de l'erreur * interne */ exception EinternalError { string message; }; /** * Exception badInputData. * Un paramètre fournit est incomplet ou les données sont incompatibles. * @member message Informations supplémentaires sur la nature de l'erreur */ exception EbadInputData { string message; }; /** * Exception nameExist. * Le nom de destination demandé existe déjà. * @member message Informations supplémentaires sur la nature de l'erreur */ exception EnameExist { string message; }; /** * Exception filenameExist. * Le fichier destination demandé en écriture existe déjà. * @member message Informations supplémentaires sur la nature de l'erreur */ exception EfilenameExist { string message; }; /** * Exception badFilename. * Le nom du fichier demandé n'est pas valide. * @member message Informations supplémentaires sur la nature de l'erreur */ exception EbadFilename { string message; }; /** * Exception corruptedFile. * Le fichier archive lu est corrompu. * @member message Informations supplémentaires sur la nature de l'erreur */ exception EcorruptedFile { string message; }; /** * Exception notReadable. * Le support DAT est inaccessible ou défectueux. * @member message Informations supplémentaires sur la nature de l'erreur */ exception EnotReadable { string message; }; /** * Exception notWritable. * Le support de destination est inaccessible ou défectueux pour effectuer une écriture. * @member message Informations supplémentaires sur la nature de l'erreur */ exception EnotWriteable { string message; }; /** * Exception XException. * Une erreur fonctionnelle issue du JDBC est arrivée. * @member message Informations supplémentaires sur la nature de l'erreur */ exception EXException { string message; }; //------------------------- Opérations // Manipulation de la configuration de l'installation /** * Opération getConfiguration. * Retourne la configuration de l'installation X. Toute manipulation des données * retournées ne sera effective qu'à l'appel de updateConfiguration. * @param pConnectionId Identifiant de connexion au serveur applicatif * @return La configuration de l'intallation X * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EXException Une erreur fonctionnelle est survenue. */ Tconfiguration getConfiguration( in XConnection::TconnectionId pConnectionId ) raises( XConnection::EnotConnected, EinternalError, EXException ); /** * Opération updateConfiguration. * Modification des informations liées à l'installation X. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pConfiguration Nouvelle configuration à prendre en compte * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Données fournies incohérentes * @exception EXException Une erreur fonctionnelle est survenue. */ void updateConfiguration( in XConnection::TconnectionId pConnectionId, in Tconfiguration pConfiguration ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération setConfigurationSoftwareLock. * Modification du statut de verrouillage de l'installation X. Ce verrou permet d'accéder * aux données descriptives de l'installation. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pState Ordre de dé/verrouillage * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EalreadyLocked Verrou déjà actif */ void setConfigurationSoftwareLock( in XConnection::TconnectionId pConnectionId, in TlockState pState ) raises( XConnection::EnotConnected, EinternalError, EalreadyLocked ); /** * Opération isConfigurationSoftwareLock. * Récupèration du statut de verrouillage de l'installation X. Ce verrou permet d'accéder * aux données descriptives de l'installation. * @param pConnectionId Identifiant de connexion au serveur applicatif * @return boolean Indicateur de présence du verrou * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue */ boolean isConfigurationSoftwareLocked( in XConnection::TconnectionId pConnectionId ) raises( XConnection::EnotConnected, EinternalError ); // Manipulation du journal de bord de l'installation /** * Opération getHistory. * Récupération de tous les évènements du journal de bord. * @param pConnectionId Identifiant de connexion au serveur applicatif * @return La liste de tous les évènements * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EXException Une erreur fonctionnelle est survenue. */ Thistory getHistory( in XConnection::TconnectionId pConnectionId ) raises( XConnection::EnotConnected, EinternalError, EXException ); /** * Opération deleteHistory. * Suppression de tous les évènements du journal de bord. * @param pConnectionId Identifiant de connexion au serveur applicatif * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EXException Une erreur fonctionnelle est survenue. */ void deleteHistory( in XConnection::TconnectionId pConnectionId ) raises( XConnection::EnotConnected, EinternalError, EXException ); /** * Opération deleteHistories. * Suppression d'un ensemble d'évènements déterminés du journal de bord. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pEvents Liste des évènements à supprimer * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Un ou des évènements sont incohérents * @exception EXException Une erreur fonctionnelle est survenue. */ void deleteHistories ( in XConnection::TconnectionId pConnectionId, in TeventIds pEvents ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); // Manipulation des utilisateurs /** * Opération getAllUsers. * Récupération de la liste des utilisateurs de l'installation X. * @param pConnectionId Identifiant de connexion au serveur applicatif * @return La liste complète des utilisateurs de l'installation X * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EXException Une erreur fonctionnelle est survenue. */ Tusers getAllUsers ( in XConnection::TconnectionId pConnectionId ) raises( XConnection::EnotConnected, EinternalError, EXException ); /** * Opération getUser. * Récupération des données d'un utilisateur. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pLogin Login de l'utilisateur X * @return Informations relatives à l'utilisateur * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Login utilisateur incohérent * @exception EXException Une erreur fonctionnelle est survenue. */ Tuser getUser( in XConnection::TconnectionId pConnectionId, in string pLogin ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération addUser. * Ajout d'un utilisateur dans l'installation X. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pUser Données de l'utilisateur * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Données de l'utilisateur incohérentes * @exception EnameExist Un utilisateur de même nom existe déjà * @exception EXException Une erreur fonctionnelle est survenue. */ void addUser( in XConnection::TconnectionId pConnectionId, in Tuser pUser ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EnameExist, EXException ); /** * Opération deleteUser. * Suppression d'un utilisateur dans l'installation X. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pLogin Login de l'utilisateur * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Données de l'utilisateur incohérentes * @exception EXException Une erreur fonctionnelle est survenue. */ void deleteUser( in XConnection::TconnectionId pConnectionId, in string pLogin ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération updateUser. * Modification des données d'un utilisateur dans l'installation X. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pUser Données de l'utilisateur * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Données de l'utilisateur incohérentes * @exception EXException Une erreur fonctionnelle est survenue. */ void updateUser( in XConnection::TconnectionId pConnectionId, in Tuser pUser ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération renameUser. * Renommage d'un utilisateur dans l'installation X. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pUserName Nom courant de l'utilisateur * @param pName Nouveau nom de l'utilisateur * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Données de l'utilisateur incohérentes * @exception EnameExist Un utilisateur de même nom existe déjà * @exception EXException Une erreur fonctionnelle est survenue. */ void renameUser( in XConnection::TconnectionId pConnectionId, in string pUserName, in string pName ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EnameExist, EXException ); // Fonctions dédiées à l'utilisateur de la connexion /** * Opération getUserFUVs. * Retourne la liste des FUVs associées à l'utilisateur donné en paramètre. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pLogin Login de l'utilisateur X * @return La liste des FUVs de l'utilisateur * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Login de l'utilisateur incohérent * @exception EXException Une erreur fonctionnelle est survenue. */ TFUVs getUserFUVs( in XConnection::TconnectionId pConnectionId, in string pLogin ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération getFUVs. * Retourne la liste de toutes les FUVs de l'installation. * @param pConnectionId Identifiant de connexion au serveur applicatif * @return La liste des FUVs * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EXException Une erreur fonctionnelle est survenue. */ TFUVs getFUVs( in XConnection::TconnectionId pConnectionId ) raises( XConnection::EnotConnected, EinternalError, EXException ); /** * Opération updateFUVs. * Modification de la liste des FUVs de l'installation. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pFUVs Liste des FUVs à modifier * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Un triplet de description de FUV est incohérent * @exception EXException Une erreur fonctionnelle est survenue. */ void updateFUVs( in XConnection::TconnectionId pConnectionId, in TFUVs pFUVs ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération containsUserFUVs. * Teste l'existence de FUVs pour l'utilisateur considéré. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pLogin Login de l'utilisateur à tester * @return boolean Indicateur d'existence de FUVs pour l'utilisateur * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EXException Une erreur fonctionnelle est survenue. */ boolean containsUserFUVs( in XConnection::TconnectionId pConnectionId, in string pLogin ) raises( XConnection::EnotConnected, EinternalError, EXException ); /** * Opération containsUser. * Teste l'existence dans l'installation de l'utilisateur considéré. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pLogin Login de l'utilisateur à tester * @return boolean Indicateur d'existence de l'utilisateur dans l'installation X * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EXException Une erreur fonctionnelle est survenue. */ boolean containsUser( in XConnection::TconnectionId pConnectionId, in string pLogin ) raises( XConnection::EnotConnected, EinternalError, EXException ); /** * Opération setUserSoftwareLock. * Modification du statut de verrouillage d'un utilisateur. Ce verrou permet d'accéder * aux données descriptives de l'utilisateur considéré. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pLogin Identifiant de l'utilisteur à impacter * @param pState Ordre de dé/verrouillage * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Identifiant d'utilisateur incohérent * @exception EalreadyLocked Verrou déjà actif * @exception EXException Une erreur fonctionnelle est survenue. */ void setUserSoftwareLock( in XConnection::TconnectionId pConnectionId, in string pLogin, in TlockState pState ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EalreadyLocked, EXException ); /** * Opération isUserSoftwareLocked. * Récupération du statut de verrouillage d'un utilisateur. Ce verrou permet d'accéder * aux données descriptives de l'utilisateur considéré. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pLogin Identifiant de l'utilisteur à tester * @return boolean Indicateur de présence de verrou * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Identifiant d'utilisateur incohérent * @exception EXException Une erreur fonctionnelle est survenue. */ boolean isUserSoftwareLocked( in XConnection::TconnectionId pConnectionId, in string pLogin ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); // Manipulation de l'environnement IHM /** * Opération getUIEnvironment. * Retourne l'environnement graphique de l'ihm de l'utilisateur désigné. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pUIEnvId Login de l'utilisateur X et l'atelier considéré * @return Le dernier environnement ihm de l'atelier utilisé par l'utilisateur * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Login utilisateur incohérent * @exception EXException Une erreur fonctionnelle est survenue. */ TuiEnvironment getUIEnvironment( in XConnection::TconnectionId pConnectionId, in TuserWorkshop pUIEnvId ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération updateUIEnvironment. * Sauvegarde l'environnement ihm de l'atelier pour l'utilisateur considéré. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pUIEnv Environnement IHM à sauvegarder * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Environnement IHM incohérent * @exception EXException Une erreur fonctionnelle est survenue. */ void updateUIEnvironment( in XConnection::TconnectionId pConnectionId, in TuiEnvironment pUIEnv ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); // Manipulation des sites /** * Opération getAllSiteElements. * Récupération des noms de sites présents dans l'installation X. * @param pConnectionId Identifiant de connexion au serveur applicatif * @return La liste des sites * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EXException Une erreur fonctionnelle est survenue. */ TtpzElements getAllSiteElements( in XConnection::TconnectionId pConnectionId ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération getAllSites. * Récupération des données des sites présents dans l'installation X. * @param pConnectionId Identifiant de connexion au serveur applicatif * @return La liste des sites et de leurs données descriptives * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EXException Une erreur fonctionnelle est survenue. */ Tsites getAllSites( in XConnection::TconnectionId pConnectionId ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération getXSite. * Récupération d'un objet réparti désignant un site X. La navigation aux travers des * enquêtes d'un site est possible à partir de cet objet. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pSiteId Identifiant du site à récupérer * @return L'objet réparti site X * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Identifiant du site incohérent * @exception EXException Une erreur fonctionnelle est survenue. */ XSite getXSite( in XConnection::TconnectionId pConnectionId, in string pSiteId ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération getSite. * Retourne les données descriptives d'un site en fonction de son identifiant. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pSiteId Identifiant du site * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Identifiant de site incohérent * @exception EXException Une erreur fonctionnelle est survenue. */ Tsite getSite( in XConnection::TconnectionId pConnectionId, in string pSiteId ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération updateSite. * Modifie les données descriptives du site. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pSite Données du site à mettre à jour * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Données descriptives du site incohérentes * @exception EXException Une erreur fonctionnelle est survenue. */ void updateSite( in XConnection::TconnectionId pConnectionId, in Tsite pSite ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération setSiteSoftwareLock. * Modification du statut de verrouillage du site. Ce verrou permet d'accéder * aux données descriptives du site considéré. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pSiteId Identifiant du site à impacter * @param pState Ordre de dé/verrouillage * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Identifiant du site incohérent * @exception EalreadyLocked Verrou déjà actif * @exception EXException Une erreur fonctionnelle est survenue. */ void setSiteSoftwareLock( in XConnection::TconnectionId pConnectionId, in string pSiteId, in TlockState pState ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EalreadyLocked, EXException ); /** * Opération isSiteSoftwareLocked. * Récupération du statut de verrouillage du site. Ce verrou permet d'accéder * aux données descriptives du site considéré. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pSiteId Identifiant du site à tester * @return boolean Indicateur de présence du verrou * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Identifiant du site incohérent * @exception EXException Une erreur fonctionnelle est survenue. */ boolean isSiteSoftwareLocked( in XConnection::TconnectionId pConnectionId, in string pSiteId ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération containsSite. * Teste l'existence dans l'installation du site considéré. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pSiteId Identifiant du site à tester * @return boolean Indicateur d'existence du site dans l'installation X * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EXException Une erreur fonctionnelle est survenue. */ boolean containsSite( in XConnection::TconnectionId pConnectionId, in string pSiteId ) raises( XConnection::EnotConnected, EinternalError, EXException ); /** * Opération getAllSoftwareLocks. * Retourne la liste de tous les verrous logiciels actifs du serveur applicatif. * L'objectif d'une telle méthode est de pouvoir à la suite de son appel, détruire les verrous * existant suite à une coupure de connexion client/serveur. * @param pConnectionId Identifiant de connexion au serveur applicatif * @return La liste des verrous logiciels présents sur le serveur * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EXException Une erreur fonctionnelle est survenue. * @see unlockSoftwareLock */ Tlocks getAllSoftwareLocks( in XConnection::TconnectionId pConnectionId ) raises( XConnection::EnotConnected, EinternalError, EXException ); /** * Opération unlockSoftwareLock. * Supprime un verrou logiciel du serveur applicatif. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pLock Identifiant du verrou à supprimer * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Identifiant du verrou incohérent * @exception EXException Une erreur fonctionnelle est survenue. * @see setSiteSoftwareLock */ void unlockSoftwareLock( in XConnection::TconnectionId pConnectionId, in Tlock pLock ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération unlockSoftwareLocks. * Supprime un ensemble de verrous logiciel du serveur applicatif. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pLocks Identifiant des verrous à supprimer * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadInputData Identifiant du verrou incohérent * @exception EXException Une erreur fonctionnelle est survenue. * @see setSiteSoftwareLock */ void unlockSoftwareLocks( in XConnection::TconnectionId pConnectionId, in Tlocks pLock ) raises( XConnection::EnotConnected, EinternalError, EbadInputData, EXException ); /** * Opération exchangeWrite. * Transmet les fichiers d'échanges au serveur afin de les générer dans le répertoire prédéfini. * Selon l'option, le fichier tgz produit est ensuite envoyer sur DAT ou non. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pArchiveName Nom de l'archive à créer sur le serveur * @param pFiles Fichiers d'échanges à générer * @param pSupport Destination finale de la génération * @param pBackup Indicateur de fichiers de sauvegarde * @param pSiteId Code site du fichier de sauvegarde généré uniquement * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EfilenameExist Le fichier archive désigné existe déjà * @exception EbadFilename Le nom de fichier archive est incohérent * @exception EnotWriteable Ecriture sur le support de destination impossible */ void exchangeWrite( in XConnection::TconnectionId pConnectionId, in string pArchiveName, in TexchangeFiles pFiles, in TexchangeOutput pSupport, in boolean pBackup, in string pSiteId ) raises( XConnection::EnotConnected, EinternalError, EfilenameExist, EbadFilename, EnotWriteable ); /** * Opération exchangeRead. * Lecture des fichiers d'échanges (tout ou partie) présents dans l'archive du serveur. * Cette méthode est appelée généralement après un exchangeList. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pArchiveName Nom de l'archive à lire * @param pElements Table des noms de fichiers à transférer du serveur au client * @param pSupport Nature du support source * @return TexchangeFiles Fichiers d'échanges présents dans l'archive * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadFilename Le nom de fichier archive est incohérent * @exception EcorruptedFile Le fichier d'échange est corrompu * @exception EnotReadable Le support DAT est altéré ou manquant * @see exchangeList */ TexchangeFiles exchangeRead( in XConnection::TconnectionId pConnectionId, in string pArchiveName, in TdataList pElements, in TexchangeOutput pSupport ) raises( XConnection::EnotConnected, EinternalError, EbadFilename, EcorruptedFile, EnotReadable ); /** * Opération exchangeList. * Liste le contenu de l'archive considérée. * Cette méthode est appelée généralement avant un exchangeRead. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pArchiveName Nom de l'archive à lire * @param pSupport Nature du support source * @return TdataList Table des élements contenus dans l'archive * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue * @exception EbadFilename Le nom de fichier archive est incohérent * @exception EcorruptedFile Le fichier d'échange est corrompu * @exception EnotReadable Le support DAT est altéré ou manquant * @see exchangeRead */ TdataList exchangeList( in XConnection::TconnectionId pConnectionId, in string pArchiveName, in TexchangeOutput pSupport ) raises( XConnection::EnotConnected, EinternalError, EbadFilename, EcorruptedFile, EnotReadable ); /** * Opération browseFolder. * Liste, selon un filtre, les fichiers présents dans le répertoire d'échanges du serveur applicatif. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pFilter Filtre de sélection des fichiers archives du serveur * @param pBackup Indicateur de recherche de fichiers de sauvegarde * @param pSiteId Code site des fichiers de sauvegarde recherchés uniquement * @return TdataList Table des noms de fichiers archives * @exception EnotConnected L'utilisateur X n'est pas connecté * @exception EinternalError Une erreur interne est survenue */ TdataList browseFolder( in XConnection::TconnectionId pConnectionId, in TexchangeFilter pFilter, in boolean pBackup, in string pSiteId ) raises( XConnection::EnotConnected, EinternalError ); /** * Opération fileExist. * Indicateur d'existence du fichier d'archive dans le répertoire d'échanges du serveur applicatif. * @param pConnectionId Identifiant de connexion au serveur applicatif * @param pArchiveName Nom de l'archive à tester * @param pFilter Filtre de sélection des fichiers archives du serveur * @param pBackup Indicateur de fichier de sauvegarde testé * @param pSiteId Code site du fichier de sauvegarde testé uniquement * @return Indicateur de présence sur le serveur de l'archive désignée */ boolean fileExist( in XConnection::TconnectionId pConnectionId, in string pArchiveName, in TexchangeFilter pFilter, in boolean pBackup, in string pSiteId ) raises( XConnection::EnotConnected, EinternalError ); }; #endif // _idl_XInstallation