#ifndef TGCALLS_INSTANCE_IMPL_LEGACY_H #define TGCALLS_INSTANCE_IMPL_LEGACY_H #include "Instance.h" #include "VoIPController.h" #include "VoIPServerConfig.h" namespace tgcalls { class InstanceImplLegacy : public Instance { public: explicit InstanceImplLegacy(Descriptor &&descriptor); ~InstanceImplLegacy(); static int GetConnectionMaxLayer(); static std::vector GetVersions(); void receiveSignalingData(const std::vector &data) override; void setNetworkType(NetworkType networkType) override; void setMuteMicrophone(bool muteMicrophone) override; void setVideoCapture(std::shared_ptr videoCapture) override; void setRequestedVideoAspect(float aspect) override; bool supportsVideo() override { return false; } void setIncomingVideoOutput(std::shared_ptr> sink) override; void setAudioOutputGainControlEnabled(bool enabled) override; void setEchoCancellationStrength(int strength) override; void setAudioInputDevice(std::string id) override; void setAudioOutputDevice(std::string id) override; void setInputVolume(float level) override; void setOutputVolume(float level) override; void setAudioOutputDuckingEnabled(bool enabled) override; void setIsLowBatteryLevel(bool isLowBatteryLevel) override; std::string getLastError() override; std::string getDebugInfo() override; int64_t getPreferredRelayId() override; TrafficStats getTrafficStats() override; PersistentState getPersistentState() override; void stop(std::function completion) override; private: tgvoip::VoIPController *controller_; std::function onStateUpdated_; std::function onSignalBarsUpdated_; static void ControllerStateCallback(tgvoip::VoIPController *controller, int state); static void SignalBarsCallback(tgvoip::VoIPController *controller, int signalBars); }; void SetLegacyGlobalServerConfig(const std::string &serverConfig); } // namespace tgcalls #endif