X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=coreapi%2Fprivate.h;h=b5312bd60c27634b4f927266c690ef9506a41f91;hb=e1830ee3077b47d1557a1292e8c8b80cd01fc403;hp=e4420d9b9933479247f464ecd15db7be4a8a532e;hpb=ee6366003f803184830617e21e3bb709c9f09a8c;p=linphone diff --git a/coreapi/private.h b/coreapi/private.h index e4420d9b..b5312bd6 100644 --- a/coreapi/private.h +++ b/coreapi/private.h @@ -42,7 +42,11 @@ extern "C" { #include "mediastreamer2/msconference.h" #ifdef BUILD_UPNP #include "upnp.h" -#endif //BUILD_UPNP +#endif //BUILD_UPNP + +#ifdef MSG_STORAGE_ENABLED +#include "sqlite3.h" +#endif #ifndef LIBLINPHONE_VERSION #define LIBLINPHONE_VERSION LINPHONE_VERSION @@ -115,16 +119,25 @@ typedef struct _CallCallbackObj static const int linphone_call_magic=0x3343; +typedef enum _LinphoneChatMessageDir{ + LinphoneChatMessageIncoming, + LinphoneChatMessageOutgoing +} LinphoneChatMessageDir; + struct _LinphoneChatMessage { - char* message; LinphoneChatRoom* chat_room; + LinphoneChatMessageDir dir; + char* message; LinphoneChatMessageStateChangeCb cb; void* cb_ud; void* message_userdata; char* external_body_url; - LinphoneAddress* from; + LinphoneAddress *from; + LinphoneAddress *to; time_t time; SalCustomHeader *custom_headers; + LinphoneChatMessageState state; + bool_t is_read; }; typedef struct StunCandidate{ @@ -198,6 +211,7 @@ struct _LinphoneCall bool_t was_automatically_paused; bool_t ping_replied; bool_t record_active; + bool_t paused_by_app; }; @@ -392,6 +406,7 @@ struct _LinphoneChatRoom{ char *peer; LinphoneAddress *peer_url; void * user_data; + MSList *messages_hist; }; @@ -420,10 +435,9 @@ typedef struct sip_config MSList *deleted_proxies; int inc_timeout; /*timeout after an un-answered incoming call is rejected*/ int in_call_timeout; /*timeout after a call is hangup */ + int delayed_timeout; /*timeout after a delayed call is resumed */ unsigned int keepalive_period; /* interval in ms between keep alive messages sent to the proxy server*/ LCSipTransports transports; - bool_t use_info; - bool_t use_rfc2833; /*force RFC2833 to be sent*/ bool_t guess_hostname; bool_t loopback_only; bool_t ipv6_enabled; @@ -444,6 +458,7 @@ typedef struct rtp_config int audio_jitt_comp; /*jitter compensation*/ int video_jitt_comp; /*jitter compensation*/ int nortp_timeout; + int disable_upnp; bool_t rtp_no_xmit_on_audio_mute; /* stop rtp xmit when audio muted */ bool_t audio_adaptive_jitt_comp_enabled; @@ -529,6 +544,7 @@ struct _LinphoneConference{ MSAudioConference *conf; AudioStream *local_participant; MSAudioEndpoint *local_endpoint; + MSAudioEndpoint *record_endpoint; RtpProfile *local_dummy_profile; bool_t local_muted; }; @@ -608,6 +624,10 @@ struct _LinphoneCore LinphoneTunnel *tunnel; char* device_id; MSList *last_recv_msg_ids; + char *chat_db_file; +#ifdef MSG_STORAGE_ENABLED + sqlite3 *db; +#endif #ifdef BUILD_UPNP UpnpContext *upnp; #endif //BUILD_UPNP @@ -642,12 +662,13 @@ struct _EcCalibrator{ MSTicker *ticker; LinphoneEcCalibrationCallback cb; void *cb_data; - int recv_count; - int sent_count; + LinphoneEcCalibrationAudioInit audio_init_cb; + LinphoneEcCalibrationAudioUninit audio_uninit_cb; int64_t acc; int delay; unsigned int rate; LinphoneEcCalibratorStatus status; + bool_t freq1,freq2,freq3; }; typedef struct _EcCalibrator EcCalibrator; @@ -658,6 +679,8 @@ void ec_calibrator_destroy(EcCalibrator *ecc); void linphone_call_background_tasks(LinphoneCall *call, bool_t one_second_elapsed); void linphone_core_preempt_sound_resources(LinphoneCore *lc); +int _linphone_core_pause_call(LinphoneCore *lc, LinphoneCall *call); + /*conferencing subsystem*/ void _post_configure_audio_stream(AudioStream *st, LinphoneCore *lc, bool_t muted); /* When a conference participant pause the conference he may send a music. @@ -690,6 +713,23 @@ void linphone_call_params_uninit(LinphoneCallParams *params); int linphone_upnp_init(LinphoneCore *lc); void linphone_upnp_destroy(LinphoneCore *lc); +#ifdef MSG_STORAGE_ENABLED +sqlite3 * linphone_message_storage_init(); +#endif +void linphone_chat_message_store(LinphoneChatMessage *msg); +void linphone_chat_message_store_state(LinphoneChatMessage *msg); +void linphone_core_message_storage_init(LinphoneCore *lc); +void linphone_core_message_storage_close(LinphoneCore *lc); + +typedef enum _LinphoneToneID{ + LinphoneToneBusy, + LinphoneToneCallWaiting, + LinphoneToneCallOnHold, + LinphoneToneCallFailed +}LinphoneToneID; +void linphone_core_play_named_tone(LinphoneCore *lc, LinphoneToneID id); +bool_t linphone_core_tone_indications_enabled(LinphoneCore*lc); + #ifdef __cplusplus } #endif