]> sjero.net Git - linphone/blobdiff - coreapi/linphonecore.h
Merge branch 'master' of git.sv.gnu.org:/srv/git/linphone
[linphone] / coreapi / linphonecore.h
index f34d7d4fd26e6f304ec9942d550d320efd9ab2a3..b21573b5c9f365ae882f760a19682a152e480950 100644 (file)
@@ -155,6 +155,30 @@ const rtp_stats_t *linphone_call_log_get_remote_stats(const LinphoneCallLog *cl)
 char * linphone_call_log_to_str(LinphoneCallLog *cl);
 
 
+/**
+ * The LinphoneCallParams is an object contaning various call related parameters.
+ * It can be used to retrieve parameters from a currently running call or modify the call's characterisitcs 
+ * dynamically.
+**/
+struct _LinphoneCallParams;
+typedef struct _LinphoneCallParams LinphoneCallParams;
+
+void linphone_call_params_enable_video(LinphoneCallParams *cp, bool_t enabled);
+void linphone_call_params_destroy(LinphoneCallParams *cp);
+
+/**
+ * Enum describing failure reasons.
+**/
+enum _LinphoneError{
+       LinphoneErrorNone,
+       LinphoneErrorNoResponse, /**<No response received from remote*/
+       LinphoneErrorBadCredentials /**<Authentication failed due to bad or missing credentials*/
+};
+
+typedef enum _LinphoneError LinphoneError;
+
+const char *linphone_error_to_string(LinphoneError err);
+
 /**
  * The LinphoneCall object represents a call issued or received by the LinphoneCore
 **/
@@ -194,6 +218,10 @@ LinphoneCallLog *linphone_call_get_call_log(const LinphoneCall *call);
 const char *linphone_call_get_refer_to(const LinphoneCall *call);
 bool_t linphone_call_has_transfer_pending(const LinphoneCall *call);
 int linphone_call_get_duration(const LinphoneCall *call);
+const LinphoneCallParams linphone_call_get_current_params(const LinphoneCall *call);
+void linphone_call_enable_camera(LinphoneCall *lc, bool_t enabled);
+bool_t linphone_call_camera_enabled(const LinphoneCall *lc);
+LinphoneError linphone_call_get_error(const LinphoneCall *call);
 void *linphone_call_get_user_pointer(LinphoneCall *call);
 void linphone_call_set_user_pointer(LinphoneCall *call, void *user_pointer);
 
@@ -308,6 +336,8 @@ struct _LinphoneCore * linphone_proxy_config_get_core(const LinphoneProxyConfig
 bool_t linphone_proxy_config_get_dial_escape_plus(const LinphoneProxyConfig *cfg);
 const char * linphone_proxy_config_get_dial_prefix(const LinphoneProxyConfig *cfg);
 
+LinphoneError linphone_proxy_config_get_error(const LinphoneProxyConfig *cfg);
+
 /* destruction is called automatically when removing the proxy config */
 void linphone_proxy_config_destroy(LinphoneProxyConfig *cfg);
 void linphone_proxy_config_set_sip_setup(LinphoneProxyConfig *cfg, const char *type);
@@ -522,6 +552,10 @@ LinphoneCall * linphone_core_invite(LinphoneCore *lc, const char *url);
 
 LinphoneCall * linphone_core_invite_address(LinphoneCore *lc, const LinphoneAddress *addr);
 
+LinphoneCall * linphone_core_invite_with_params(LinphoneCore *lc, const char *url, const LinphoneCallParams *params);
+
+LinphoneCall * linphone_core_invite_address_with_params(LinphoneCore *lc, const LinphoneAddress *addr, const LinphoneCallParams *params);
+
 int linphone_core_transfer_call(LinphoneCore *lc, LinphoneCall *call, const char *refer_to);
 
 bool_t linphone_core_inc_invite_pending(LinphoneCore*lc);
@@ -542,6 +576,10 @@ int linphone_core_pause_all_calls(LinphoneCore *lc);
 
 int linphone_core_resume_call(LinphoneCore *lc, LinphoneCall *call);
 
+int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, LinphoneCallParams *params);
+
+LinphoneCallParams *linphone_core_create_default_call_parameters(LinphoneCore *lc);
+
 LinphoneCall *linphone_core_get_call_by_remote_address(LinphoneCore *lc, const char *remote_address);
 
 void linphone_core_send_dtmf(LinphoneCore *lc,char dtmf);