Name | |
---|---|
class | PipelineSystemControllerInterfaceFactory |
// Copyright (c) 2022, Edgeware AB. All rights reserved.
#pragma once
#include <memory>
#include <string>
#include "SystemControllerConnection.h"
class PipelineSystemControllerInterfaceFactory final {
public:
PipelineSystemControllerInterfaceFactory(const std::string& systemControllerIP,
uint16_t systemControllerPort,
const std::string& systemControllerPostfix,
const std::string& psk,
const std::string& myIP,
bool useHTTPS,
bool allowInsecureHTTPS,
const std::string& customCaCertFile);
PipelineSystemControllerInterfaceFactory(PipelineSystemControllerInterfaceFactory const&) = delete;
PipelineSystemControllerInterfaceFactory(PipelineSystemControllerInterfaceFactory const&&) = delete;
PipelineSystemControllerInterfaceFactory& operator=(PipelineSystemControllerInterfaceFactory const&) = delete;
PipelineSystemControllerInterfaceFactory& operator=(PipelineSystemControllerInterfaceFactory const&&) = delete;
std::shared_ptr<SystemControllerConnection> getMediaReceiverInterface(const std::string& name);
// /// to generate the parent interface.
std::shared_ptr<SystemControllerConnection> createMediaStreamerInterface(const std::string& name);
std::shared_ptr<SystemControllerConnection> createControlReceiverInterface(const std::string& name);
private:
std::string mSystemControllerIP;
uint16_t mSystemControllerPort = 0;
std::string mSystemControllerPostfix;
std::string mPsk;
std::string mMyIP;
bool mUseHTTPS = true;
bool mAllowInsecureHTTPS = false;
std::string mCustomCaCertFile;
std::shared_ptr<SystemControllerConnection> mReceiverController;
};
Updated on 2024-01-25 at 12:02:05 +0100