1
0
mirror of https://github.com/danog/php-libtgvoip.git synced 2024-11-26 20:04:48 +01:00
php-libtgvoip/main.h

106 lines
2.7 KiB
C
Raw Normal View History

2017-07-01 15:12:52 +02:00
/*
Copyright 2016-2017 Daniil Gentili
(https://daniil.it)
This file is part of php-libtgvoip.
php-libtgvoip is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The PWRTelegram API is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Affero General Public License for more details.
You should have received a copy of the GNU General Public License along with php-libtgvoip.
If not, see <http://www.gnu.org/licenses/>.
*/
2017-07-01 19:40:28 +02:00
#ifndef PHPLIBTGVOIP_H
#define PHPLIBTGVOIP_H
2017-07-01 15:12:52 +02:00
#include "libtgvoip/VoIPController.h"
#include <phpcpp.h>
using namespace tgvoip;
using namespace tgvoip::audio;
2017-07-01 19:40:28 +02:00
2017-07-01 15:12:52 +02:00
class VoIP : public Php::Base {
public:
void __construct(Php::Parameters &params);
void start();
void connect();
void setEncryptionKey(Php::Parameters &params);
void setRemoteEndpoints(Php::Parameters &params);
void release();
Php::Value writeFrames(Php::Parameters &params);
Php::Value readFrames();
Php::Value getDebugString();
void setNetworkType(Php::Parameters &params);
void setMicMute(Php::Parameters &params);
// jdouble recvTimeout, jdouble initTimeout, jint dataSavingMode, jboolean enableAEC, jboolean enableNS, jboolean enableAGC, jstring logFilePath
void setConfig(Php::Parameters &params);
void debugCtl(Php::Parameters &params);
Php::Value getVersion();
Php::Value getPreferredRelayID();
Php::Value getLastError();
Php::Value getStats();
void setSharedConfig(Php::Parameters &params);
2017-07-03 16:58:30 +02:00
void setProxy(Php::Parameters &params);
2017-07-01 15:12:52 +02:00
Php::Value getDebugLog();
2017-07-04 03:04:22 +02:00
void updateConnectionState(int state);
2017-07-01 19:40:28 +02:00
void startInput();
void startOutput();
void stopInput();
void stopOutput();
void configureAudioInput(uint32_t sampleRate, uint32_t bitsPerSample, uint32_t channels);
void configureAudioOutput(uint32_t sampleRate, uint32_t bitsPerSample, uint32_t channels);
float getOutputLevel();
2017-07-01 15:12:52 +02:00
2017-07-03 16:58:30 +02:00
Php::Value getCallConfig();
2017-07-01 15:12:52 +02:00
Php::Value madeline;
Php::Value current_call;
2017-07-03 16:58:30 +02:00
int inputBitsPerSample;
int outputBitsPerSample;
int inputSampleRate;
int outputSampleRate;
int inputChannels;
int outputChannels;
int inputSamplePeriod;
int outputSamplePeriod;
int inputWritePeriod;
int outputWritePeriod;
bool configuredInput = false;
bool configuredOutput = false;
private:
VoIPController* inst;
2017-07-04 03:04:22 +02:00
Php::Object PHPthis;
2017-07-01 19:40:28 +02:00
};
2017-07-04 03:04:22 +02:00
#endif