source: pacpusframework/trunk/3rd/apache-log4cxx/include/log4cxx/rolling/action.h@ 12

Last change on this file since 12 was 2, checked in by sgosseli, 12 years ago

Add 3rd party libraries (log4cxx).

File size: 2.2 KB
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#if !defined(_LOG4CXX_ROLLING_ACTION_H)
19#define _LOG4CXX_ROLLING_ACTION_H
20
21#include <log4cxx/portability.h>
22#include <log4cxx/helpers/objectimpl.h>
23#include <log4cxx/helpers/mutex.h>
24#include <log4cxx/helpers/pool.h>
25
26namespace log4cxx {
27 namespace rolling {
28
29
30 /**
31 * A file system action performed as part of a rollover event.
32 */
33 class Action : public virtual log4cxx::helpers::ObjectImpl {
34 DECLARE_ABSTRACT_LOG4CXX_OBJECT(Action)
35 BEGIN_LOG4CXX_CAST_MAP()
36 LOG4CXX_CAST_ENTRY(Action)
37 END_LOG4CXX_CAST_MAP()
38 /**
39 * Is action complete.
40 */
41 bool complete;
42
43 /**
44 * Is action interrupted.
45 */
46 bool interrupted;
47
48 log4cxx::helpers::Pool pool;
49 log4cxx::helpers::Mutex mutex;
50
51
52 protected:
53 /**
54 * Constructor.
55 */
56 Action();
57 virtual ~Action();
58
59 public:
60 /**
61 * Perform action.
62 *
63 * @return true if successful.
64 */
65 virtual bool execute(log4cxx::helpers::Pool& pool) const = 0;
66
67 void run(log4cxx::helpers::Pool& pool);
68
69 void close();
70
71 /**
72 * Tests if the action is complete.
73 * @return true if action is complete.
74 */
75 bool isComplete() const;
76
77 void reportException(const std::exception&);
78
79
80 };
81
82 LOG4CXX_PTR_DEF(Action);
83
84 }
85}
86#endif
87
Note: See TracBrowser for help on using the repository browser.