X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=coreapi%2Fprivate.h;h=b5312bd60c27634b4f927266c690ef9506a41f91;hb=e1830ee3077b47d1557a1292e8c8b80cd01fc403;hp=41d453df3bdea168cbde72fe76d1d626c0c93508;hpb=08eb7e6fbe356d80d6dfd4b3e877d43435372ec6;p=linphone diff --git a/coreapi/private.h b/coreapi/private.h index 41d453df..b5312bd6 100644 --- a/coreapi/private.h +++ b/coreapi/private.h @@ -44,6 +44,10 @@ extern "C" { #include "upnp.h" #endif //BUILD_UPNP +#ifdef MSG_STORAGE_ENABLED +#include "sqlite3.h" +#endif + #ifndef LIBLINPHONE_VERSION #define LIBLINPHONE_VERSION LINPHONE_VERSION #endif @@ -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; }; @@ -423,8 +438,6 @@ typedef struct sip_config 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; @@ -445,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; @@ -610,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 @@ -644,6 +662,8 @@ struct _EcCalibrator{ MSTicker *ticker; LinphoneEcCalibrationCallback cb; void *cb_data; + LinphoneEcCalibrationAudioInit audio_init_cb; + LinphoneEcCalibrationAudioUninit audio_uninit_cb; int64_t acc; int delay; unsigned int rate; @@ -659,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. @@ -691,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