OpenBus SDK C++ TAO  2.0.2.0
 Tudo Classes Namespaces Ficheiros Funções Definições de tipos Páginas
Componentes | Funções
Referência ao namespace openbus

openbus Mais...

Componentes

struct  CallerChain
 Cadeia de chamadas oriundas de um barramento. Mais...
 
class  Connection
 Conexão para acesso identificado a um barramento. Mais...
 
struct  log_type
 Classe que contém funções auxiliares para configuração de log do Openbus. Mais...
 
class  OpenBusContext
 Permite controlar o contexto das chamadas de um ORB para acessar informações que identificam essas chamadas em barramentos OpenBus. Mais...
 
class  orb_ctx
 Representa um ORB através de um invólucro que assume a propriedade(ownership) sobre o ORB. O destrutor do invólucro chama orb::destroy(). A instância do ORB pode ser obtida através do método orb(). Mais...
 
class  SharedAuthSecret
 Segredo para compartilhamento de autenticação. Mais...
 

Funções

bool operator== (const Connection::SecretSession &lhs, const Connection::SecretSession &rhs)
 
bool operator!= (const Connection::SecretSession &lhs, const Connection::SecretSession &rhs)
 
OPENBUS_SDK_DECL
boost::shared_ptr< orb_ctx
ORBInitializer (int &argc, char **argv)
 Inicializa um ORB utilizado exclusivamente para chamadas através de barramentos OpenBus. Mais...
 
bool operator!= (CallerChain const &lhs, CallerChain const &rhs)
 
OPENBUS_SDK_DECL log_typelog ()
 Instância global de log_type que permite acesso pelo usuário das configurações de log do Openbus.
 

Descrição detalhada

openbus

Namespace para a biblioteca de acesso.

Documentação das funções

OPENBUS_SDK_DECL boost::shared_ptr<orb_ctx> openbus::ORBInitializer ( int &  argc,
char **  argv 
)

Inicializa um ORB utilizado exclusivamente para chamadas através de barramentos OpenBus.

Inicializa um ORB utilizado exclusivamente para chamadas através de barramentos OpenBus, ou seja, esse ORB não pode ser utilizado para fazer chamadas CORBA ordinárias sem o controle de acesso do OpenBus que permite identificação da origem das chamadas. Esse controle de acesso é feito através conexões que são obtidas e manipuladas através de um OpenBusContext. O ORB possui um OpenBusContext associado, que pode ser obitido através do comando: CORBA::ORB::resolve_initial_reference("OpenBusContext")

O ORB é inicializado da mesma forma feita pela operação 'CORBA::ORB_init' definida pelo padrão CORBA.

Chamadas realizadas e recebidas através deste ORB são interceptadas pela biblioteca de acesso do OpenBus e podem lançar exceções de sistema de CORBA definidas pelo OpenBus. A seguir são apresentadas essas exceções:

  • CORBA::NO_PERMISSION{NoLogin}: Nenhuma conexão "Requester" com login válido está associada ao contexto atual, ou seja, a conexão "Requester" corrente está desautenticada.
  • CORBA::NO_PERMISSION{InvalidChain}: A cadeia de chamadas associada ao contexto atual não é compatível com o login da conexão "Requester" desse mesmo contexto. Isso ocorre pois não é possível fazer chamadas dentro de uma cadeia recebida por uma conexão com um login diferente. - CORBA::NO_PERMISSION{UnknownBus}: O ORB remoto que recebeu a chamada indicou que não possui uma conexão com login válido no barramento através do qual a chamada foi realizada, portanto não é capaz de validar a chamada para que esta seja processada.
  • CORBA::NO_PERMISSION{UnverifiedLogin}: O ORB remoto que recebeu a chamada indicou que não é capaz de validar a chamada para que esta seja processada. Isso indica que o lado remoto tem problemas de acesso aos serviços núcleo do barramento.
  • CORBA::NO_PERMISSION{InvalidRemote}: O ORB remoto que recebeu a chamada não está se comportando de acordo com o protocolo OpenBus 2.0, o que indica que está mal implementado e tipicamente representa um bug no servidor sendo chamado ou um erro de implantação do barramento.
Parâmetros
[in]argcNúmero de parâmetros usados na inicialização do ORB.
[in]argvParâmetros usados na inicialização do ORB.
Excepções
CORBA::Exception
Retorna
Um smart pointer do tipo boost::shared_ptr para um invólucro que contêm o ORB inicializado.