Dobby 3.0
Dobby “Docker based Thingy” is a tool for managing and running OCI containers using crun
Loading...
Searching...
No Matches
IpcFactory.h
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 2020 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 * IpcFactory.h
21 *
22 * Created on: 5 Jun 2015
23 * Author: riyadh
24 */
25
26#ifndef AI_IPC_IPCFACTORY_H
27#define AI_IPC_IPCFACTORY_H
28
29#include "IIpcService.h"
30
31#include <set>
32#include <memory>
33#include <string>
34
35#define IPC_SERVICE_APP_PROCESS "com.sky.ai.app_process"
36
37namespace packagemanager
38{
39 class IPackageManager;
40}
41
42namespace AI_DBUS
43{
44
45class IDbusServer;
46
47}
48
49namespace AI_IPC
50{
51
65std::shared_ptr<IIpcService> createIpcService(const std::shared_ptr<const AI_DBUS::IDbusServer>& dbusServer, const std::string& serviceName, int defaultTimeoutMs = -1);
66
81std::shared_ptr<IIpcService> createIpcService( const std::shared_ptr<const AI_DBUS::IDbusServer>& dbusServer,
82 const std::string& serviceName,
83 const std::shared_ptr<packagemanager::IPackageManager> &packageManager,
84 bool dbusEntitlementCheckNeeded = false,
85 int defaultTimeoutMs = -1);
86
99std::shared_ptr<IIpcService> createSystemBusIpcService(const std::string& serviceName, int defaultTimeoutMs = -1);
100std::shared_ptr<IIpcService> createSessionBusIpcService(const std::string& serviceName, int defaultTimeoutMs = -1);
101
115std::shared_ptr<IIpcService> createIpcService(const std::string& address, const std::string& serviceName, int defaultTimeoutMs = -1);
116
117}
118
119#endif /* AI_IPC_IPCFACTORY_H */