notify_consumer.h
来自「这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用」· C头文件 代码 · 共 100 行
H
100 行
/* -*- C++ -*- */
// ============================================================================
/**
* @file Notify_Consumer.h
*
* Notify_Consumer.h,v 1.5 2002/11/27 13:32:55 dhanvey Exp
*
* An example of using the Notify_Logging_Service.
* The Notify_Consumer consumes log-generated events.
*
*
* @author D A Hanvey (d.hanvey@qub.ac.uk)
*/
// ============================================================================
#ifndef NOTIFY_CONSUMER_H
#define NOTIFY_CONSUMER_H
#include "orbsvcs/DsNotifyLogAdminS.h"
#include "orbsvcs/DsEventLogAdminC.h"
#include "orbsvcs/CosEventCommS.h"
#include "orbsvcs/CosNotifyCommS.h"
#include "orbsvcs/CosNamingC.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
class Consumer : public POA_CosNotifyComm::PushConsumer, public PortableServer::RefCountServantBase
{
// = TITLE
// Simple consumer object
//
// = DESCRIPTION
// This class is a consumer of log generated events.
//
public:
Consumer (void);
// Constructor
int run (int argc, char* argv[]);
// Run the test
protected:
CosNotifyChannelAdmin::ProxyID proxy_supplier_id_;
// The proxy_supplier id.
// = Methods
// Destructor
// = NotifyPublish method
virtual void offer_change (
const CosNotification::EventTypeSeq & added,
const CosNotification::EventTypeSeq & removed
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
CORBA::SystemException,
CosNotifyComm::InvalidEventType
));
// = StructuredPushSupplier methods
virtual void push (const CORBA::Any &event
ACE_ENV_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((
CORBA::SystemException,
CosEventComm::Disconnected
));
virtual void disconnect_push_consumer (
ACE_ENV_SINGLE_ARG_DECL
)
ACE_THROW_SPEC ((
CORBA::SystemException
));
private:
CORBA::ULong event_count_;
// Keep track of the number of events received.
// = Data Members
CORBA::ORB_var orb_;
// The ORB that we use.
CosNaming::NamingContext_var naming_context_;
// Handle to the name service.
DsNotifyLogAdmin::NotifyLogFactory_var notify_log_factory_;
CosNotifyChannelAdmin::ProxyPushSupplier_var proxy_supplier_;
};
#endif /* NOTIFY_CONSUMER_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?