Rialto  0.1
Rialto media pipeline API
IClientLogControl.h
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's LICENSE file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2024 Sky UK
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19 
20 #ifndef FIREBOLT_RIALTO_I_CLIENT_LOG_CONTROL_H_
21 #define FIREBOLT_RIALTO_I_CLIENT_LOG_CONTROL_H_
22 
32 #include <memory>
33 #include <stdint.h>
34 
35 #include "ControlCommon.h"
36 #include "IClientLogHandler.h"
37 #include "IControlClient.h"
38 
39 namespace firebolt::rialto
40 {
41 class IClientLogControl;
42 
47 {
48 public:
49  IClientLogControlFactory() = default;
50  virtual ~IClientLogControlFactory() = default;
51 
57  static std::shared_ptr<IClientLogControlFactory> createFactory();
58 
65 };
66 
75 {
76 public:
77  IClientLogControl() = default;
78  virtual ~IClientLogControl() = default;
79 
80  IClientLogControl(const IClientLogControl &) = delete;
81  IClientLogControl &operator=(const IClientLogControl &) = delete;
83  IClientLogControl &operator=(IClientLogControl &&) = delete;
84 
98  virtual bool registerLogHandler(const std::shared_ptr<IClientLogHandler> &handler, bool ignoreLogLevels) = 0;
99 };
100 
101 }; // namespace firebolt::rialto
102 
103 #endif // FIREBOLT_RIALTO_I_CLIENT_LOG_CONTROL_H_
firebolt::rialto::IClientLogControlFactory::createFactory
static std::shared_ptr< IClientLogControlFactory > createFactory()
Creates the IClientLogControlFactory.
IClientLogHandler.h
firebolt::rialto::IClientLogControlFactory::createClientLogControl
virtual IClientLogControl & createClientLogControl()=0
IClientLogControl factory method, returns a concrete singleton implementation of IClientLogControl.
IControlClient.h
firebolt::rialto::IClientLogControl::registerLogHandler
virtual bool registerLogHandler(const std::shared_ptr< IClientLogHandler > &handler, bool ignoreLogLevels)=0
Register a new log handler.
ControlCommon.h
firebolt::rialto::IClientLogControlFactory
IClientLogControl factory class, returns a concrete implementation of IClientLogControl.
Definition: IClientLogControl.h:46
firebolt::rialto::IClientLogControl
The definition of the IClientLogControl interface.
Definition: IClientLogControl.h:74