/*
* $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