~ubuntu-branches/ubuntu/breezy/ace/breezy

« back to all changes in this revision

Viewing changes to TAO/orbsvcs/orbsvcs/Log/BasicLog_i.h

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad, Benjamin Montgomery, Adam Conrad
  • Date: 2005-09-18 22:51:38 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 sarge) (0.1.2 woody)
  • Revision ID: james.westby@ubuntu.com-20050918225138-seav22q6fyylb536
Tags: 5.4.7-3ubuntu1
[ Benjamin Montgomery ]
* Added a patch for amd64 and powerpc that disables the compiler
  option -fvisibility-inlines-hidden

[ Adam Conrad ]
* Added DPATCH_OPTION_CPP=1 to debian/patches/00options to make
  Benjamin's above changes work correctly with dpatch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* -*- C++ -*- */
2
 
 
3
 
//=============================================================================
4
 
/**
5
 
 *  @file   BasicLog_i.h
6
 
 *
7
 
 *  BasicLog_i.h,v 1.14 2003/07/21 23:51:32 dhinton Exp
8
 
 *
9
 
 *  Implementation of the DsLogAdmin::BasicLog interface.
10
 
 *
11
 
 *
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>
15
 
 */
16
 
//=============================================================================
17
 
 
18
 
 
19
 
#ifndef TAO_TLS_BASICLOG_I_H
20
 
#define TAO_TLS_BASICLOG_I_H
21
 
 
22
 
#include /**/ "ace/pre.h"
23
 
 
24
 
#include "orbsvcs/DsLogAdminS.h"
25
 
 
26
 
#if !defined (ACE_LACKS_PRAGMA_ONCE)
27
 
# pragma once
28
 
#endif /* ACE_LACKS_PRAGMA_ONCE */
29
 
 
30
 
#include "orbsvcs/Log/Log_i.h"
31
 
#include "log_export.h"
32
 
 
33
 
// This is to remove "inherits via dominance" warnings from MSVC.
34
 
// MSVC is being a little too paranoid.
35
 
#if defined(_MSC_VER)
36
 
#if (_MSC_VER >= 1200)
37
 
#pragma warning(push)
38
 
#endif /* _MSC_VER >= 1200 */
39
 
#pragma warning(disable:4250)
40
 
#endif /* _MSC_VER */
41
 
 
42
 
class TAO_LogMgr_i;
43
 
 
44
 
/**
45
 
 * @class TAO_BasicLog_i
46
 
 *
47
 
 * @brief It allows clients to write, query and delete records from the log.
48
 
 *
49
 
 * The class supports the @c destroy> method to destroy the Log.
50
 
 */
51
 
class TAO_Log_Export TAO_BasicLog_i :
52
 
  public TAO_Log_i,
53
 
  public POA_DsLogAdmin::BasicLog,
54
 
  public virtual PortableServer::RefCountServantBase
55
 
{
56
 
public:
57
 
 
58
 
  /// Constructor.
59
 
  TAO_BasicLog_i (TAO_LogMgr_i &logmgr_i,
60
 
                  DsLogAdmin::LogMgr_ptr factory,
61
 
                  DsLogAdmin::LogId id,
62
 
                  DsLogAdmin::LogFullActionType log_full_action = DsLogAdmin::wrap,
63
 
                  CORBA::ULongLong max_size = 0,
64
 
                  ACE_Reactor *reactor = ACE_Reactor::instance ());
65
 
 
66
 
  /// Duplicate the log.
67
 
  virtual DsLogAdmin::Log_ptr copy (DsLogAdmin::LogId &id
68
 
                                    ACE_ENV_ARG_DECL)
69
 
    ACE_THROW_SPEC ((CORBA::SystemException));
70
 
 
71
 
  /// Duplicate the log specifying an id.
72
 
  virtual DsLogAdmin::Log_ptr copy_with_id (DsLogAdmin::LogId id
73
 
                                            ACE_ENV_ARG_DECL)
74
 
    ACE_THROW_SPEC ((CORBA::SystemException));
75
 
 
76
 
  /// Destroy the log object and all contained records.
77
 
  void destroy (ACE_ENV_SINGLE_ARG_DECL)
78
 
    ACE_THROW_SPEC ((CORBA::SystemException));
79
 
 
80
 
protected:
81
 
 
82
 
  /// Destructor.
83
 
  /**
84
 
   * Protected destructor to enforce proper memory management through
85
 
   * reference counting.
86
 
   */
87
 
  ~TAO_BasicLog_i (void);
88
 
 
89
 
protected:
90
 
        
91
 
  /// Used to access the hash map that holds all the Logs created.
92
 
  TAO_LogMgr_i &logmgr_i_;
93
 
 
94
 
};
95
 
 
96
 
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
97
 
#pragma warning(pop)
98
 
#endif /* _MSC_VER */
99
 
 
100
 
#include /**/ "ace/post.h"
101
 
 
102
 
#endif /* TAO_TLS_BASICLOG_I_H */