Modify interface

This commit is contained in:
dijunkun
2023-07-20 09:50:44 +08:00
parent fbfaf9ac75
commit 5792ded4ac
9 changed files with 87 additions and 79 deletions

View File

@@ -1,44 +0,0 @@
#include "rtc.h"
#include <iostream>
#include "ice_agent.h"
#include "log.h"
#include "nlohmann/json.hpp"
#include "peer_connection.h"
#include "ws_transport.h"
using nlohmann::json;
static PeerConnection *peer_connection;
int CreatePeerConnection(Params params) {
PeerConnection::Params pc_params;
pc_params.cfg_path = params.cfg_path;
pc_params.on_receive_buffer = params.on_receive_buffer;
pc_params.net_status_report = params.net_status_report;
peer_connection = new PeerConnection();
peer_connection->Init(pc_params);
return 0;
}
int CreatePeerConnectionWithID(Params params, const char *id) {
PeerConnection::Params pc_params;
pc_params.cfg_path = params.cfg_path;
pc_params.on_receive_buffer = params.on_receive_buffer;
pc_params.net_status_report = params.net_status_report;
peer_connection = new PeerConnection();
peer_connection->Init(pc_params, id);
return 0;
}
int SendData(const char *data, size_t size) {
peer_connection->SendData(data, size);
return 0;
}
int rtc() { return 0; }

View File

@@ -1,38 +0,0 @@
#ifndef _RTC_H_
#define _RTC_H_
#include <stdint.h>
#include <stdlib.h>
enum ws_status { WS_CONNECTING = 0, WS_OPEN, WS_FAILED, WS_CLOSED, WS_UNKNOWN };
#ifdef __cplusplus
extern "C" {
#endif
typedef void (*OnReceiveBuffer)(unsigned char*, size_t, const char*,
const size_t);
typedef void (*NetStatusReport)(const unsigned short, const unsigned short);
typedef struct {
const char* cfg_path;
OnReceiveBuffer on_receive_buffer;
NetStatusReport net_status_report;
} Params;
int CreatePeerConnection(Params params);
int CreatePeerConnectionWithID(Params params, const char* id);
int SendData(const char* data, size_t size);
int rtc();
int RegisterPeer();
#ifdef __cplusplus
}
#endif
#endif

40
src/rtc/x_inner.cpp Normal file
View File

@@ -0,0 +1,40 @@
#include "x_inner.h"
#include <iostream>
#include <nlohmann/json.hpp>
#include "ice_agent.h"
#include "log.h"
#include "ws_transport.h"
#include "x.h"
using nlohmann::json;
static PeerConnection *peer_connection;
PeerPtr *CreatePeer(const Params *params) {
PeerPtr *peer_ptr = new PeerPtr;
peer_ptr->peer_connection = new PeerConnection();
peer_ptr->pc_params.cfg_path = params->cfg_path;
peer_ptr->pc_params.on_receive_buffer = params->on_receive_buffer;
peer_ptr->pc_params.net_status_report = params->net_status_report;
return peer_ptr;
}
int CreateConnection(PeerPtr *peer_ptr) {
peer_ptr->peer_connection->Init(peer_ptr->pc_params);
return 0;
}
int JoinConnection(PeerPtr *peer_ptr, const char *connection_id) {
peer_ptr->peer_connection->Init(peer_ptr->pc_params, connection_id);
return 0;
}
int SendData(PeerPtr *peer_ptr, const char *data, size_t size) {
peer_ptr->peer_connection->SendData(data, size);
return 0;
}
int rtc() { return 0; }

11
src/rtc/x_inner.h Normal file
View File

@@ -0,0 +1,11 @@
#ifndef _X_INNER_H_
#define _X_INNER_H_
#include "peer_connection.h"
struct Peer {
PeerConnection *peer_connection;
PeerConnectionParams pc_params;
};
#endif