Types et interfaces d'Up ! Virtual Technical Machine exposés en interfaces natives Corba...
Correspondance entre Corba et Up ! Application System...
Correspondance entre Up ! Application System et Corba...
Quelques exemples d'emploi de ces interfaces sont présentés dans la rubrique Encapsulation des modules en technologie Up ! Virtual Technical Machine en modules Corba...
Repository Id | Interface ou objet |
IDL:IUpsBiz:1.1 | Interface IUpsBiz d'Up ! Business. |
Repository Id | Interface ou objet |
IDL:IUpsCrb:1.1 | Interface IUpsCrb d'Up ! Common Object Request Broker Architecture. |
Repository Id | Interface ou objet |
IDL:IUpsCmp:1.1 | Interface IUpsCmp d'Up ! Compiler. |
Repository Id | Interface ou objet |
IDL:IUpsCom:1.1 | Interface IUpsCom d'Up ! Component Object Module. |
Repository Id | Interface ou objet |
IDL:IUpsDgn:1.1 | Interface IUpsDgn d'Up ! Document Generator. |
Repository Id | Interface ou objet |
IDL:IUpsJav:1.1 | Interface IUpsJav d'Up ! Java. |
Repository Id | Interface ou objet |
IDL:IUpsKrn:1.1 | Interface IUpsKrn d'Up ! Kernel. |
IDL:IUpsKrnBinaire:1.1 | Interface IUpsKrnBinaire. |
IDL:IUpsKrnCaractere:1.1 | Interface IUpsKrnCaractere. |
IDL:IUpsKrnDate:1.1 | Interface IUpsKrnDate. |
IDL:IUpsKrnEntier:1.1 | Interface IUpsKrnEntier. |
IDL:IUpsKrnEnumere:1.1 | Interface IUpsKrnEnumere. |
IDL:IUpsKrnException:1.1 | Interface IUpsKrnException. |
IDL:IUpsKrnObjet:1.1 | Interface IUpsKrnObjet. |
IDL:IUpsKrnReel:1.1 | Interface IUpsKrnReel. |
IDL:IUpsKrnType:1.1 | Interface IUpsKrnType. |
IDL:IUpsKrnListe:1.1 | Interface IUpsKrnListe. |
IDL:IUpsKrnReference:1.1 | Interface IUpsKrnReference. |
IDL:IUpsKrnTableau:1.1 | Interface IUpsKrnTableau. |
IDL:IUpsKrnArbreBinaire:1.1 | Interface IUpsKrnArbreBinaire. |
IDL:IUpsKrnEntrepot:1.1 | Interface IUpsKrnEntrepot. |
IDL:IUpsKrnModule:1.1 | Interface IUpsKrnModule. |
IDL:IUpsKrnAppel:1.1 | Interface IUpsKrnAppel. |
IDL:IUpsKrnTransaction:1.1 | Interface IUpsKrnTransaction. |
IDL:IUpsKrnOctet:1.1 | Interface IUpsKrnOctet. |
IDL:IUpsKrnIIterateur:1.1 | Interface IUpsKrnIIterateur. |
IDL:IUpsKrnIEspaceMetre:1.1 | Interface IUpsKrnIEspaceMetre. |
IDL:IUpsKrnIAlgebreCommutative:1.1 | Interface IUpsKrnIAlgebreCommutative. |
IDL:IUpsKrnICorpsCommutatif:1.1 | Interface IUpsKrnICorpsCommutatif. |
IDL:IUpsKrnBooleen:1.1 | Interface IUpsKrnBooleen. |
Repository Id | Interface ou objet |
IDL:IUpsMat:1.1 | Interface IUpsMat d'Up ! Mathematical. |
IDL:IUpsMatDegre:1.1 | Interface IUpsMatDegre. |
IDL:IUpsMatRadian:1.1 | Interface IUpsMatRadian. |
Repository Id | Interface ou objet |
IDL:IUpsMsn:1.1 | Interface IUpsMsn d'Up ! Microsoft Network. |
IDL:IUpsMsnCanalMicrosoftNetwork:1.1 | Interface IUpsMsnCanalMicrosoftNetwork. |
Repository Id | Interface ou objet |
IDL:IUpsNap:1.1 | Interface IUpsNap d'Up ! Named Pipes. |
IDL:IUpsNapCanalTuyauNomme:1.1 | Interface IUpsNapCanalTuyauNomme. |
Repository Id | Interface ou objet |
IDL:IUpsNls:1.1 | Interface IUpsNls d'Up ! Natural Language Support. |
Repository Id | Interface ou objet |
IDL:IUpsNet:1.1 | Interface IUpsNet d'Up ! Network. |
IDL:IUpsNetCanal:1.1 | Interface IUpsNetCanal. |
IDL:IUpsNetServeur:1.1 | Interface IUpsNetServeur. |
Repository Id | Interface ou objet |
IDL:IUpsOrb:1.1 | Interface IUpsOrb d'Up ! Object Request Broker. |
IDL:IUpsOrbAnnuaire:1.1 | Interface IUpsOrbAnnuaire. |
IDL:IUpsOrbNiveauAnnuaire:1.1 | Interface IUpsOrbNiveauAnnuaire. |
Repository Id | Interface ou objet |
IDL:IUpsSec:1.1 | Interface IUpsSec d'Up ! Security Manager. |
IDL:IUpsSecUtilisateur:1.1 | Interface IUpsSecUtilisateur. |
IDL:IUpsSecRole:1.1 | Interface IUpsSecRole. |
IDL:IUpsSecHabilitations:1.1 | Interface IUpsSecHabilitations. |
IDL:IUpsSecHabilitationUnitaire:1.1 | Interface IUpsSecHabilitationUnitaire. |
IDL:IUpsSecLicences:1.1 | Interface IUpsSecLicences. |
IDL:IUpsSecLicenceUniatire:1.1 | Interface IUpsSecLicenceUnitaire. |
IDL:IUpsSecQuotas:1.1 | Interface IUpsSecQuotas. |
IDL:IUpsSecQuotaUnitaire:1.1 | Interface IUpsSecQuotaUnitaire. |
Repository Id | Interface ou objet |
IDL:IUpsSys:1.1 | Interface IUpsSys d'Up ! System. |
IDL:IUpsSysFichierListe:1.1 | Interface IUpsSysFichierListe. |
IDL:IUpsSysProcessusListe:1.1 | Interface IUpsSysProcessusListe. |
IDL:IUpsSysUniteListee:1.1 | Interface IUpsSysUniteListee. |
IDL:IUpsSysTache:1.1 | Interface IUpsSysTache. |
IDL:IUpsSysSynchronisation:1.1 | Interface IUpsSysSynchronisation. |
IDL:IUpsSysFileDAttente:1.1 | Interface IUpsSysFileDAttente. |
IDL:IUpsSysTravail:1.1 | Interface IUpsSysTravail. |
IDL:IUpsSysFichier:1.1 | Interface IUpsSysFichier. |
IDL:IUpsSysSegment:1.1 | Interface IUpsSysSegment. |
IDL:IUpsSysPeriodeCalendrier:1.1 | Interface IUpsSysPeriodeCalendrier. |
IDL:IUpsSysCalendrier:1.1 | Interface IUpsSysCalendrier. |
IDL:IUpsSysFlux:1.1 | Interface IUpsSysFlux. |
Repository Id | Interface ou objet |
IDL:IUpsTrn:1.1 | Interface IUpsTrn d'Up ! Translator. |
Repository Id | Interface ou objet |
IDL:IUpsTcp:1.1 | Interface IUpsTcp d'Up ! Transmission Control Protocol. |
IDL:IUpsTcpCanalTcpIp:1.1 | Interface IUpsTcpCanalTcpIp. |
Corba | Up ! Application System |
Alias déclaré par typedef . | Alias déclaré par Type ... = ... ; . |
Attribut private . | Propriété en lecture seule. |
Attribut public . | Propriété en lecture et écriture. |
Constante déclarée par const . | Constante déclarée par Constante . |
Constructeur déclaré par factory . | Constructeur pour l'interface. |
Contexte déclaré par contexte . | Ignoré. |
Exception déclarée par exception . | Exception déclarée par Exception . |
Exception déclarée par raise . | Ignoré. |
Interface déclarée par interface . | Type déclaré par Type . |
Méthode fonctionnelle. | Méthode fonctionnelle déclarée par Fonction . |
Méthode procédurale. | Méthode procédurale déclarée par Procedure . |
Module déclaré par module . | Sous-module déclaré par Module . |
Séquence. | Tableau déclaré par TableauDe . |
Structure déclarée par struct . | Type déclaré par Type . |
Tableau déclaré par [ ] . | Tableau déclaré par TableauDe . |
Type déclaré par valuetype . | Type déclaré par Type . |
Union déclarée par union . | Type encapsulant un .Selon ... Fin Selon . |
Corba | Up ! Application System |
any | Objet |
boolean | Boolean |
char | Entier |
fixed | Reel |
float | Reel |
long | Entier |
long double | Reel |
long long | Entier |
Object | Objet |
octet | Entier |
short | Entier |
string | Caractere |
unsigned char | Entier |
unsigned long | Entier |
unsigned long long | Entier |
unsigned short | Entier |
ValueBase | Object |
wstring | Caractere |
wchar | Entier |
Corba | Up ! Application System |
abstract | Définition d'une interface par Interface au lieu d'un type par Type . |
in | Entree |
inout | Entree Sortie |
out | Sortie |
readonly | Lecture Prive |
Corba | Up ! Application System | Application Program Interface |
Méthode Corba | Appel | Méthode IUpsKrn::CorbaMethod2Appel .Le prototype correspond à la signature de la méthode selon la convention de Interface Definition Language (IDL). |
boolean | Booleen | Méthode IUpsKrn::CorbaBoolean2Booleen . |
char< > | Caractere | Méthode IUpsKrn::CorbaCharSeq2Caractere . |
double | Reel | Méthode IUpsKrn::CorbaDouble2Reel . |
float | Reel | Méthode IUpsKrn::CorbaFloat2Reel . |
long | Entier | Méthode IUpsKrn::CorbaLong2Entier . |
long double | Reel | Méthode IUpsKrn::CorbaLongDouble2Reel . |
long long | Entier | Méthode IUpsKrn::CorbaLongLong2Entier . |
octet< > | Binaire | Méthode IUpsKrn::CorbaOctetSeq2Binaire . |
short | Entier | Méthode IUpsKrn::CorbaShort2Entier . |
string | Binaire | Méthode IUpsKrn::CorbaString2Binaire .Méthode IUpsKrn::CorbaString2Caractere .Méthode IUpsKrn::CorbaString2Date . |
unsigned long | Entier | Méthode IUpsKrn::CorbaUnsignedLong2Entier . |
unsigned long long | Entier | Méthode IUpsKrn::CorbaUnsignedLongLong2Entier . |
unsigned short | Entier | Méthode IUpsKrn::CorbaUnsignedShort2Entier .Méthode IUpsKrn::CorbaUnsignedShort2Enumere . |
wchar< > | Caractere | Méthode IUpsKrn::CorbaWCharSeq2Caractere . |
wstring | Caractere | Méthode IUpsKrn::CorbaWString2Caractere . |
Up ! Application System | Corba |
Alias déclaré par Type ... = ... ; . | Alias déclaré par typedef . |
Constante déclarée par Constante . | Constante déclarée par const . |
Définition de variables ou de traitements globaux. | Interface spécifique pour le module. |
Enuméré déclaré par Enumere . | Enuméré déclaré par enum . |
Exception déclarée par Exception . | Objet d'interface CORBA::Exception . |
File d'attente déclarée par FileDAttente . | Objet d'interface IUpsSysFileDAttente . |
Importation déclarée par ImporterModule . | Inclusion de l'idl et des fichiers h. |
Méthode fonctionnelle déclarée par Fonction . | Méthode fonctionnelle. |
Méthode procédurale déclarée par Procedure . | Méthode procédurale. |
Entrepot déclarée par Entrepot . | Objet d'interface IUpsKrnEntrepot . |
Référence déclarée par ReferenceDe . | Objet d'interface IUpsKrnReference . |
Selon ... Fin Selon . | Union déclarée par union . |
Tableau déclaré par TableauDe . | Tableau déclaré par [ ] . |
Type déclaré par Type ou par Interface . | Interface déclarée par interface . |
Up ! Application System | Corba |
Booleen . | boolean si non nul sinon IUpsKrnBooleen . |
Enumere . | unsigned short si non nul sinon IUpsKrnEnumere . |
Caractere . | IUpsKrnCaractere . |
Date . | IUpsKrnDate . |
Entier . | long si non nul sinon IUpsKrnEntier . |
Reel . | double si non nul sinon IUpsKrnReel . |
Up ! Application System | Corba |
Entree | in . |
Entree Sortie | inout . |
Sortie | out . |
Définition d'une propriété en lecture. | readonly . |
Up ! Application System | Corba | Application Program Interface de Up ! Kernel |
Appel | Méthode Corba | Direct par génération. |
Binaire | octet< > | Méthode IUpsKrn::Binaire2OctetSeq .Méthode IUpsKrn::Binaire2CorbaOctetSeq . |
Booleen | boolean | Méthode IUpsKrn::Booleen2CorbaBoolean . |
Caractere | char< > | Méthode IUpsKrn::Caractere2CorbaCharSeq .Méthode IUpsKrn::Caractere2CorbaString .Méthode IUpsKrn::Caractere2CorbaWString . |
Date | string | Méthode IUpsKrn::Date2CorbaString . |
Enumere | unsigned short | Méthode IUpsKrn::Enumere2CorbaUnsignedShort . |
Entier | short | Méthode IUpsKrn::Entier2CorbaShort .Méthode IUpsKrn.Entier2CorbaUnsignedShort .Méthode IUpsKrn::Entier2CorbaLong .Méthode IUpsKrn::Entier2CorbaUnsignedLong .Méthode IUpsKrn::Entier2CorbaLongLong .Méthode IUpsKrn::Entier2CorbaUnsignedLongLong |
Reel | float | Méthode IUpsKrn::Reel2CorbaFloat .Méthode IUpsKrn::Reel2CorbaDouble .Méthode IUpsKrn::Reel2CorbaLongDouble . |
Le chargement de chaque module employé est réalisé automatiquement par Corba.
Le déchargement de chaque module employé est réalisé automatiquement par Corba.
Chaque Application Program Interface (API) est susceptible de lancer une exception CORBA::Exception qu'il est obligatoire de gérer.
L'arrêt de Up ! Virtual Technical Machine est réalisé automatiquement par Corba.
Voici un exemple :
#include <CORBA.h>
#include <mico/string.h>
#include <upskrn.h>
#include <upscrbexception.h>
using namespace std;
static CORBA::ORB *pOrb;
static CORBA::BOA *pBoa;
static CORBA::Object *pObjet;
static IUpsKrn *pIUpsKrn;
/****************************************************************/
int main(int argc, char *argv[])
/****************************************************************/
{
pOrb=CORBA::ORB_init(argc, argv, "mico-local-orb");
if (!pOrb)
return(1);
pBoa=pOrb->BOA_init(argc, argv, "mico-local-boa");
if (!pBoa)
return(1);
pObjet=pOrb->bind("IDL:IUpsKrn:1.1");
if (!pObjet)
return(1);
pIUpsKrn=IUpsKrn::_narrow(pObjet);
if (!pObjet)
return(1);
try
{
catch (UpsCrbException *E)
...
}
{
catch (CORBA::Exception &e)
cout << "Erreur UpsKrn-0 : L'exception suivante a été envoyée dans le source '" << E->NomSourceEnErreur << "' :" << endl;
cout << E->MessageErreur << endl;
return(1);
}
{
cout << "Erreur Mico : L'exception suivante a été envoyée :" << endl;
cout << e << endl;
return(1);
}
CORBA::release(pIUpsKrn);
pIUpsKrn=NULL;
delete pBoa;
delete pOrb;
return(0);
}
Nota bene :
Tous les modules Corba doivent être compilés avec les structures alignées sur quatre octets sur toutes les plates-formes. Sinon, les objets ValueType ne peuvent fonctionner correctement.