OpenBus IDL  2.0.1
offer_registry.idl
1 
4 #ifndef __TECGRAF_OPENBUS_CORE_V20_SERVICES_OFFERREGISTRY_IDL__
5 #define __TECGRAF_OPENBUS_CORE_V20_SERVICES_OFFERREGISTRY_IDL__
6 
7 /* for the type of object implementing services offered */
8 #include "scs.idl"
9 #include "core.idl"
10 
12 module tecgraf {
13 
15 module openbus {
16 
18 module core {
19 
20 /* \brief Módulo de versionamento dos Serviços Básicos do OpenBus. */
21 module v2_0 {
22 
24 module services {
25 
27 module offer_registry {
28 
29 /****************************************************************************/
30 /* Faceta de Gerência de Ofertas de Serviço *********************************/
31 /****************************************************************************/
32 
33 interface OfferObserver; /* forward declaration */
34 interface ServiceOffer; /* forward declaration */
35 interface OfferRegistryObserver; /* forward declaration */
36 
37 
38 
40 typedef string FacetName; /* same type of a SCS facet identifier (name) */
42 typedef sequence<FacetName> FacetNameSeq;
43 
46  string name;
47  string value;
48 };
50 typedef sequence<ServiceProperty> ServicePropertySeq;
51 
53 typedef scs::core::IComponent OfferedService;
54 
57  OfferedService service_ref;
58  ServicePropertySeq properties;
60 };
62 typedef sequence<ServiceOfferDesc> ServiceOfferDescSeq;
63 
66  OfferObserver observer;
68 };
70 typedef sequence<OfferObserverSubscriptionDesc>
72 
75  OfferRegistryObserver observer;
76  ServicePropertySeq properties;
77 };
79 typedef sequence<OfferRegistryObserverSubscriptionDesc>
81 
83 typedef long Cookie;
84 
89 exception UnauthorizedFacets { FacetNameSeq facets; };
90 
96 exception InvalidProperties { ServicePropertySeq properties; };
97 
102 exception InvalidService { string message; };
103 
104 
108 interface OfferObserver {
114  void propertiesChanged(in ServiceOfferDesc offer);
115 
121  void removed(in ServiceOfferDesc offer);
122 };
123 
134  void offerRegistered(in ServiceOfferDesc offer);
135 };
136 
141 
143  readonly attribute OfferObserver observer;
144 
146  readonly attribute ServiceOffer offer;
147 
154 
165  void remove() raises (UnauthorizedOperation, ServiceFailure);
166 };
167 
173  readonly attribute OfferRegistryObserver observer;
174 
181  readonly attribute ServicePropertySeq properties;
182 
189 
200  void remove() raises (UnauthorizedOperation, ServiceFailure);
201 };
202 
206 interface ServiceOffer {
208  readonly attribute OfferedService service_ref;
209 
233  readonly attribute ServicePropertySeq properties;
234 
240  ServiceOfferDesc describe();
241 
259  void setProperties(in ServicePropertySeq properties)
261 
272  void remove() raises (UnauthorizedOperation, ServiceFailure);
273 
281  OfferObserverSubscription subscribeObserver(in OfferObserver observer)
282  raises (ServiceFailure);
283 };
284 
285 
289 interface OfferRegistry {
310  ServiceOffer registerService(in OfferedService service_ref,
311  in ServicePropertySeq properties)
314 
331  ServiceOfferDescSeq findServices(in ServicePropertySeq properties)
332  raises (ServiceFailure);
333 
339  ServiceOfferDescSeq getAllServices() raises (ServiceFailure);
340 
351  OfferRegistryObserverSubscription subscribeObserver(
352  in OfferRegistryObserver observer,
353  in ServicePropertySeq properties)
354  raises (ServiceFailure);
355 };
356 
357 }; // offer_registry
358 
359 }; // services
360 
361 }; // version
362 
363 }; // core
364 
365 }; // openbus
366 
367 }; // tecgraf
368 
369 #endif
readonly attribute OfferObserver observer
Referência para o observador inscrito.
Indica que o serviço oferece facetas não autorizadas para a entidade que registra a oferta de serviço...
Representa a inscrição de um observador de oferta de serviço.
Indica que a lista de propriedades fornecida ao registrar uma oferta de serviço inclui propridades in...
sequence< OfferRegistryObserverSubscriptionDesc > OfferRegistryObserverSubscriptionDescSeq
Sequência de descrições de inscrições de observadores.
Representa a inscrição de um observador de registro oferta de serviço.
readonly attribute OfferRegistryObserver observer
Referência para o observador inscrito.
Representa um observador de oferta já cadastrada.
readonly attribute ServicePropertySeq properties
Lista de propriedades de oferta que o observador está interessado.
Indica que a operação chamada não é permitida para a entidade.
Definition: core.idl:52
long Cookie
Identificador da inscrição de um observador.
Descreve uma inscrição de observador de oferta de serviço.
sequence< OfferObserverSubscriptionDesc > OfferObserverSubscriptionDescSeq
Sequência de descrições de inscrições de observadores.
Exceção que sinaliza uma falha interna num serviço básico.
Definition: core.idl:55
sequence< ServiceOfferDesc > ServiceOfferDescSeq
Sequência de descrições de oferta de serviço.
readonly attribute ServiceOffer offer
Referência para o observador inscrito.
string FacetName
Identificação de uma faceta de componente SCS.
ServicePropertySeq properties
Referência para o serviço ofertado.
sequence< ServiceProperty > ServicePropertySeq
Sequência de propriedades que descrevem uma oferta de serviço.
sequence< FacetName > FacetNameSeq
Sequência de facetas de componentes SCS.
scs::core::IComponent OfferedService
Referência para um serviço ofertado.
Propriedade que descreve um aspecto de uma oferta de serviço.
Indica que a referência fornecida do serviço não apresenta o formato esperado, que no caso é um compo...
readonly attribute OfferedService service_ref
Referência para o serviço ofertado.
readonly attribute ServicePropertySeq properties
Lista de propriedades do serviço ofertado.