Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
savoirfairelinux
jami-daemon
Commits
a8db6284
Commit
a8db6284
authored
Apr 01, 2008
by
Emmanuel Milou
Browse files
Add a different tone when having voice mails
TONE::CONGESTION
parent
9c19181c
Changes
9
Hide whitespace changes
Inline
Side-by-side
sflphone-gtk/src/actions.c
View file @
a8db6284
...
...
@@ -35,9 +35,15 @@
#define ALSA_ERROR 0
#define TONE_WITHOUT_MESSAGE 0
#define TONE_WITH_MESSAGE 1
guint
voice_mails
;
void
sflphone_notify_voice_mail
(
guint
count
)
{
voice_mails
=
count
;
if
(
count
>
0
)
{
gchar
*
message
=
g_new0
(
gchar
,
50
);
...
...
@@ -335,7 +341,7 @@ sflphone_incoming_call (call_t * c)
void
process_dialing
(
call_t
*
c
,
guint
keyval
,
gchar
*
key
)
{
// We stop the tone
dbus_start_tone
(
FALSE
);
dbus_start_tone
(
FALSE
,
0
);
switch
(
keyval
)
{
case
65293
:
/* ENTER */
...
...
@@ -397,7 +403,9 @@ void process_dialing(call_t * c, guint keyval, gchar * key)
call_t
*
sflphone_new_call
()
{
if
(
call_list_get_size
()
==
0
)
dbus_start_tone
(
TRUE
);
{
dbus_start_tone
(
TRUE
,
(
voice_mails
>
0
)
?
TONE_WITH_MESSAGE
:
TONE_WITHOUT_MESSAGE
)
;
}
call_t
*
c
=
g_new0
(
call_t
,
1
);
c
->
state
=
CALL_STATE_DIALING
;
c
->
from
=
g_strconcat
(
"
\"\"
<>"
,
NULL
);
...
...
sflphone-gtk/src/callmanager-glue.h
View file @
a8db6284
...
...
@@ -310,10 +310,10 @@ static
inline
#endif
gboolean
org_sflphone_SFLphone_CallManager_start_tone
(
DBusGProxy
*
proxy
,
const
gint
IN_start
,
GError
**
error
)
org_sflphone_SFLphone_CallManager_start_tone
(
DBusGProxy
*
proxy
,
const
gint
IN_start
,
const
gint
IN_type
,
GError
**
error
)
{
return
dbus_g_proxy_call
(
proxy
,
"startTone"
,
error
,
G_TYPE_INT
,
IN_start
,
G_TYPE_INVALID
,
G_TYPE_INVALID
);
return
dbus_g_proxy_call
(
proxy
,
"startTone"
,
error
,
G_TYPE_INT
,
IN_start
,
G_TYPE_INT
,
IN_type
,
G_TYPE_INVALID
,
G_TYPE_INVALID
);
}
typedef
void
(
*
org_sflphone_SFLphone_CallManager_start_tone_reply
)
(
DBusGProxy
*
proxy
,
GError
*
error
,
gpointer
userdata
);
...
...
@@ -333,14 +333,14 @@ static
inline
#endif
DBusGProxyCall
*
org_sflphone_SFLphone_CallManager_start_tone_async
(
DBusGProxy
*
proxy
,
const
gint
IN_start
,
org_sflphone_SFLphone_CallManager_start_tone_reply
callback
,
gpointer
userdata
)
org_sflphone_SFLphone_CallManager_start_tone_async
(
DBusGProxy
*
proxy
,
const
gint
IN_start
,
const
gint
IN_type
,
org_sflphone_SFLphone_CallManager_start_tone_reply
callback
,
gpointer
userdata
)
{
DBusGAsyncData
*
stuff
;
stuff
=
g_new
(
DBusGAsyncData
,
1
);
stuff
->
cb
=
G_CALLBACK
(
callback
);
stuff
->
userdata
=
userdata
;
return
dbus_g_proxy_begin_call
(
proxy
,
"startTone"
,
org_sflphone_SFLphone_CallManager_start_tone_async_callback
,
stuff
,
g_free
,
G_TYPE_INT
,
IN_start
,
G_TYPE_INVALID
);
return
dbus_g_proxy_begin_call
(
proxy
,
"startTone"
,
org_sflphone_SFLphone_CallManager_start_tone_async_callback
,
stuff
,
g_free
,
G_TYPE_INT
,
IN_start
,
G_TYPE_INT
,
IN_type
,
G_TYPE_INVALID
);
}
static
#ifdef G_HAVE_INLINE
...
...
sflphone-gtk/src/dbus.c
View file @
a8db6284
...
...
@@ -632,13 +632,14 @@ dbus_play_dtmf(const gchar * key)
}
void
dbus_start_tone
(
const
int
start
)
dbus_start_tone
(
const
int
start
,
const
guint
type
)
{
GError
*
error
=
NULL
;
org_sflphone_SFLphone_CallManager_start_tone
(
callManagerProxy
,
start
,
start
,
type
,
&
error
);
if
(
error
)
...
...
src/dbus/callmanager-glue.h
View file @
a8db6284
...
...
@@ -83,6 +83,7 @@ public:
static
::
DBus
::
IntrospectedArgument
startTone_args
[]
=
{
{
"start"
,
"i"
,
true
},
{
"type"
,
"i"
,
true
},
{
0
,
0
,
0
}
};
static
::
DBus
::
IntrospectedArgument
setVolume_args
[]
=
...
...
@@ -204,7 +205,7 @@ public:
virtual
void
unhold
(
const
::
DBus
::
String
&
callID
)
=
0
;
virtual
void
transfert
(
const
::
DBus
::
String
&
callID
,
const
::
DBus
::
String
&
to
)
=
0
;
virtual
void
playDTMF
(
const
::
DBus
::
String
&
key
)
=
0
;
virtual
void
startTone
(
const
::
DBus
::
Int32
&
start
)
=
0
;
virtual
void
startTone
(
const
::
DBus
::
Int32
&
start
,
const
::
DBus
::
Int32
&
type
)
=
0
;
virtual
void
setVolume
(
const
::
DBus
::
String
&
device
,
const
::
DBus
::
Double
&
value
)
=
0
;
virtual
::
DBus
::
Double
getVolume
(
const
::
DBus
::
String
&
device
)
=
0
;
virtual
std
::
map
<
::
DBus
::
String
,
::
DBus
::
String
>
getCallDetails
(
const
::
DBus
::
String
&
callID
)
=
0
;
...
...
@@ -347,7 +348,8 @@ private:
::
DBus
::
MessageIter
ri
=
call
.
reader
();
::
DBus
::
Int32
argin1
;
ri
>>
argin1
;
startTone
(
argin1
);
::
DBus
::
Int32
argin2
;
ri
>>
argin2
;
startTone
(
argin1
,
argin2
);
::
DBus
::
ReturnMessage
reply
(
call
);
return
reply
;
}
...
...
src/dbus/callmanager-introspec.xml
View file @
a8db6284
...
...
@@ -39,6 +39,7 @@
<method
name=
"startTone"
>
<arg
type=
"i"
name=
"start"
direction=
"in"
/>
<arg
type=
"i"
name=
"type"
direction=
"in"
/>
</method>
<method
name=
"setVolume"
>
...
...
src/dbus/callmanager.cpp
View file @
a8db6284
...
...
@@ -135,10 +135,15 @@ CallManager::playDTMF( const ::DBus::String& key )
}
void
CallManager
::
startTone
(
const
::
DBus
::
Int32
&
start
)
CallManager
::
startTone
(
const
::
DBus
::
Int32
&
start
,
const
::
DBus
::
Int32
&
type
)
{
if
(
start
==
true
)
Manager
::
instance
().
playTone
();
{
if
(
type
==
0
)
Manager
::
instance
().
playTone
();
else
Manager
::
instance
().
playToneWithMessage
();
}
else
Manager
::
instance
().
stopTone
(
true
);
}
...
...
src/dbus/callmanager.h
View file @
a8db6284
...
...
@@ -51,7 +51,7 @@ public:
std
::
map
<
::
DBus
::
String
,
::
DBus
::
String
>
getCallDetails
(
const
::
DBus
::
String
&
callID
);
::
DBus
::
String
getCurrentCallID
(
);
void
playDTMF
(
const
::
DBus
::
String
&
key
);
void
startTone
(
const
::
DBus
::
Int32
&
start
);
void
startTone
(
const
::
DBus
::
Int32
&
start
,
const
::
DBus
::
Int32
&
type
);
};
...
...
src/managerimpl.cpp
View file @
a8db6284
...
...
@@ -873,6 +873,15 @@ ManagerImpl::playTone()
playATone
(
Tone
::
TONE_DIALTONE
);
}
/**
* Multi Thread
*/
bool
ManagerImpl
::
playToneWithMessage
()
{
playATone
(
Tone
::
TONE_CONGESTION
);
}
/**
* Multi Thread
*/
...
...
src/managerimpl.h
View file @
a8db6284
...
...
@@ -176,6 +176,7 @@ public:
bool
sendDtmf
(
const
CallID
&
id
,
char
code
);
bool
playDtmf
(
char
code
,
bool
isTalking
);
bool
playTone
();
bool
playToneWithMessage
();
void
stopTone
(
bool
stopAudio
/*=true*/
);
// From links
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment