Make generateAppLabel() a static funcion of SmackRules class
[platform/core/security/security-manager.git] / src / server / dpl / log / include / dpl / log / old_style_log_provider.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16 /*
17  * @file        old_style_log_provider.h
18  * @author      Przemyslaw Dobrowolski (p.dobrowolsk@samsung.com)
19  * @version     1.0
20  * @brief       This file is the implementation file of old style log provider
21  */
22 #ifndef SECURITYMANAGER_OLD_STYLE_LOG_PROVIDER_H
23 #define SECURITYMANAGER_OLD_STYLE_LOG_PROVIDER_H
24
25 #include <dpl/log/abstract_log_provider.h>
26 #include <string>
27
28 namespace SecurityManager {
29 namespace Log {
30 class OldStyleLogProvider :
31     public AbstractLogProvider
32 {
33   private:
34     bool m_showDebug;
35     bool m_showInfo;
36     bool m_showWarning;
37     bool m_showError;
38     bool m_showPedantic;
39     bool m_printStdErr;
40
41     static std::string FormatMessage(const char *message,
42                                      const char *filename,
43                                      int line,
44                                      const char *function);
45
46   public:
47     OldStyleLogProvider(bool showDebug,
48                         bool showInfo,
49                         bool showWarning,
50                         bool showError,
51                         bool showPedantic);
52     OldStyleLogProvider(bool showDebug,
53                         bool showInfo,
54                         bool showWarning,
55                         bool showError,
56                         bool showPedantic,
57                         bool printStdErr);
58     virtual ~OldStyleLogProvider() {}
59
60     virtual void Debug(const char *message,
61                        const char *fileName,
62                        int line,
63                        const char *function);
64     virtual void Info(const char *message,
65                       const char *fileName,
66                       int line,
67                       const char *function);
68     virtual void Warning(const char *message,
69                          const char *fileName,
70                          int line,
71                          const char *function);
72     virtual void Error(const char *message,
73                        const char *fileName,
74                        int line,
75                        const char *function);
76     virtual void Pedantic(const char *message,
77                           const char *fileName,
78                           int line,
79                           const char *function);
80     virtual void SecureDebug(const char *message,
81                        const char *fileName,
82                        int line,
83                        const char *function);
84     virtual void SecureInfo(const char *message,
85                       const char *fileName,
86                       int line,
87                       const char *function);
88     virtual void SecureWarning(const char *message,
89                          const char *fileName,
90                          int line,
91                          const char *function);
92     virtual void SecureError(const char *message,
93                        const char *fileName,
94                        int line,
95                        const char *function);
96 };
97 }
98 } // namespace SecurityManager
99
100 #endif // SECURITYMANAGER_OLD_STYLE_LOG_PROVIDER_H