3
//=============================================================================
7
* BasicLog_i.h,v 1.14 2003/07/21 23:51:32 dhinton Exp
9
* Implementation of the DsLogAdmin::BasicLog interface.
12
* @author Matthew Braun <mjb2@cs.wustl.edu>
13
* @author Pradeep Gore <pradeep@cs.wustl.edu>
14
* @David A. Hanvey <d.hanvey@qub.ac.uk>
16
//=============================================================================
19
#ifndef TAO_TLS_BASICLOG_I_H
20
#define TAO_TLS_BASICLOG_I_H
22
#include /**/ "ace/pre.h"
24
#include "orbsvcs/DsLogAdminS.h"
26
#if !defined (ACE_LACKS_PRAGMA_ONCE)
28
#endif /* ACE_LACKS_PRAGMA_ONCE */
30
#include "orbsvcs/Log/Log_i.h"
31
#include "log_export.h"
33
// This is to remove "inherits via dominance" warnings from MSVC.
34
// MSVC is being a little too paranoid.
36
#if (_MSC_VER >= 1200)
38
#endif /* _MSC_VER >= 1200 */
39
#pragma warning(disable:4250)
45
* @class TAO_BasicLog_i
47
* @brief It allows clients to write, query and delete records from the log.
49
* The class supports the @c destroy> method to destroy the Log.
51
class TAO_Log_Export TAO_BasicLog_i :
53
public POA_DsLogAdmin::BasicLog,
54
public virtual PortableServer::RefCountServantBase
59
TAO_BasicLog_i (TAO_LogMgr_i &logmgr_i,
60
DsLogAdmin::LogMgr_ptr factory,
62
DsLogAdmin::LogFullActionType log_full_action = DsLogAdmin::wrap,
63
CORBA::ULongLong max_size = 0,
64
ACE_Reactor *reactor = ACE_Reactor::instance ());
66
/// Duplicate the log.
67
virtual DsLogAdmin::Log_ptr copy (DsLogAdmin::LogId &id
69
ACE_THROW_SPEC ((CORBA::SystemException));
71
/// Duplicate the log specifying an id.
72
virtual DsLogAdmin::Log_ptr copy_with_id (DsLogAdmin::LogId id
74
ACE_THROW_SPEC ((CORBA::SystemException));
76
/// Destroy the log object and all contained records.
77
void destroy (ACE_ENV_SINGLE_ARG_DECL)
78
ACE_THROW_SPEC ((CORBA::SystemException));
84
* Protected destructor to enforce proper memory management through
87
~TAO_BasicLog_i (void);
91
/// Used to access the hash map that holds all the Logs created.
92
TAO_LogMgr_i &logmgr_i_;
96
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
100
#include /**/ "ace/post.h"
102
#endif /* TAO_TLS_BASICLOG_I_H */