Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
J
jami-daemon
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
130
Issues
130
List
Boards
Labels
Service Desk
Milestones
Iterations
Requirements
Requirements
List
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Analytics
Analytics
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
savoirfairelinux
jami-daemon
Commits
008c8846
Commit
008c8846
authored
May 17, 2012
by
Emmanuel Lepage
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
git+ssh://git.sflphone.org/var/repos/sflphone/git/sflphone
parents
472564c1
f6dd011e
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
169 additions
and
179 deletions
+169
-179
daemon/src/account.cpp
daemon/src/account.cpp
+1
-1
daemon/src/iax/iaxaccount.cpp
daemon/src/iax/iaxaccount.cpp
+1
-1
daemon/src/managerimpl.cpp
daemon/src/managerimpl.cpp
+6
-7
daemon/src/managerimpl.h
daemon/src/managerimpl.h
+2
-2
daemon/src/sip/sipaccount.cpp
daemon/src/sip/sipaccount.cpp
+1
-1
daemon/src/sip/sipvoiplink.cpp
daemon/src/sip/sipvoiplink.cpp
+10
-2
daemon/test/resamplertest.cpp
daemon/test/resamplertest.cpp
+35
-49
daemon/test/resamplertest.h
daemon/test/resamplertest.h
+3
-7
gnome/src/contacts/addrbookfactory.c
gnome/src/contacts/addrbookfactory.c
+2
-3
gnome/src/contacts/calltree.c
gnome/src/contacts/calltree.c
+6
-3
gnome/src/contacts/conferencelist.c
gnome/src/contacts/conferencelist.c
+6
-10
gnome/src/dbus/configurationmanager-introspec.xml
gnome/src/dbus/configurationmanager-introspec.xml
+3
-1
gnome/src/dbus/dbus.c
gnome/src/dbus/dbus.c
+42
-39
gnome/src/sliders.c
gnome/src/sliders.c
+7
-9
gnome/src/uimanager.c
gnome/src/uimanager.c
+44
-44
No files found.
daemon/src/account.cpp
View file @
008c8846
...
...
@@ -102,7 +102,7 @@ void Account::setActiveCodecs(const std::vector<std::string> &list)
}
// update the codec string according to new codec selection
codecStr_
=
ManagerImpl
::
serialize
(
list
);
codecStr_
=
ManagerImpl
::
join_string
(
list
);
}
std
::
string
Account
::
mapStateNumberToString
(
RegistrationState
state
)
...
...
daemon/src/iax/iaxaccount.cpp
View file @
008c8846
...
...
@@ -93,7 +93,7 @@ void IAXAccount::unserialize(const Conf::MappingNode &map)
map
.
getValue
(
CODECS_KEY
,
&
codecStr_
);
// Update codec list which one is used for SDP offer
setActiveCodecs
(
ManagerImpl
::
unserialize
(
codecStr_
));
setActiveCodecs
(
ManagerImpl
::
split_string
(
codecStr_
));
map
.
getValue
(
DISPLAY_NAME_KEY
,
&
displayName_
);
}
...
...
daemon/src/managerimpl.cpp
View file @
008c8846
...
...
@@ -1802,7 +1802,7 @@ std::string ManagerImpl::createConfigFile() const
return
configdir
+
DIR_SEPARATOR_STR
+
PROGNAME
+
".yml"
;
}
std
::
vector
<
std
::
string
>
ManagerImpl
::
unserialize
(
std
::
string
s
)
std
::
vector
<
std
::
string
>
ManagerImpl
::
split_string
(
std
::
string
s
)
{
std
::
vector
<
std
::
string
>
list
;
std
::
string
temp
;
...
...
@@ -1817,7 +1817,7 @@ std::vector<std::string> ManagerImpl::unserialize(std::string s)
return
list
;
}
std
::
string
ManagerImpl
::
serialize
(
const
std
::
vector
<
std
::
string
>
&
v
)
std
::
string
ManagerImpl
::
join_string
(
const
std
::
vector
<
std
::
string
>
&
v
)
{
std
::
ostringstream
os
;
std
::
copy
(
v
.
begin
(),
v
.
end
(),
std
::
ostream_iterator
<
std
::
string
>
(
os
,
"/"
));
...
...
@@ -2531,7 +2531,7 @@ std::string ManagerImpl::getNewCallID()
std
::
vector
<
std
::
string
>
ManagerImpl
::
loadAccountOrder
()
const
{
return
unserialize
(
preferences
.
getAccountOrder
());
return
split_string
(
preferences
.
getAccountOrder
());
}
void
ManagerImpl
::
loadDefaultAccountMap
()
...
...
@@ -2611,9 +2611,8 @@ void ManagerImpl::loadAccountMap(Conf::YamlParser &parser)
Sequence
::
const_iterator
ip2ip
=
std
::
find_if
(
seq
->
begin
(),
seq
->
end
(),
isIP2IP
);
if
(
ip2ip
!=
seq
->
end
())
{
MappingNode
*
node
=
dynamic_cast
<
MappingNode
*>
(
*
ip2ip
);
if
(
node
)
{
if
(
node
)
accountMap_
[
SIPAccount
::
IP2IP_PROFILE
]
->
unserialize
(
*
node
);
}
}
// Initialize default UDP transport according to
...
...
@@ -2734,13 +2733,13 @@ void ManagerImpl::setAddressbookSettings(const std::map<std::string, int32_t>& s
void
ManagerImpl
::
setAddressbookList
(
const
std
::
vector
<
std
::
string
>&
list
)
{
addressbookPreference
.
setList
(
ManagerImpl
::
serialize
(
list
));
addressbookPreference
.
setList
(
ManagerImpl
::
join_string
(
list
));
saveConfig
();
}
std
::
vector
<
std
::
string
>
ManagerImpl
::
getAddressbookList
()
const
{
return
unserialize
(
addressbookPreference
.
getList
());
return
split_string
(
addressbookPreference
.
getList
());
}
void
ManagerImpl
::
setIPToIPForCall
(
const
std
::
string
&
callID
,
bool
IPToIP
)
...
...
daemon/src/managerimpl.h
View file @
008c8846
...
...
@@ -571,9 +571,9 @@ class ManagerImpl {
* Required format: payloads separated with one slash.
* @return std::string The serializabled string
*/
static
std
::
string
serialize
(
const
std
::
vector
<
std
::
string
>
&
v
);
static
std
::
string
join_string
(
const
std
::
vector
<
std
::
string
>
&
v
);
static
std
::
vector
<
std
::
string
>
unserialize
(
std
::
string
v
);
static
std
::
vector
<
std
::
string
>
split_string
(
std
::
string
v
);
/**
* Ringtone option.
...
...
daemon/src/sip/sipaccount.cpp
View file @
008c8846
...
...
@@ -268,7 +268,7 @@ void SIPAccount::unserialize(const Conf::MappingNode &map)
map
.
getValue
(
MAILBOX_KEY
,
&
mailBox_
);
map
.
getValue
(
CODECS_KEY
,
&
codecStr_
);
// Update codec list which one is used for SDP offer
setActiveCodecs
(
ManagerImpl
::
unserialize
(
codecStr_
));
setActiveCodecs
(
ManagerImpl
::
split_string
(
codecStr_
));
map
.
getValue
(
RINGTONE_PATH_KEY
,
&
ringtonePath_
);
map
.
getValue
(
RINGTONE_ENABLED_KEY
,
&
ringtoneEnabled_
);
...
...
daemon/src/sip/sipvoiplink.cpp
View file @
008c8846
...
...
@@ -667,8 +667,14 @@ void SIPVoIPLink::cancelKeepAliveTimer(pj_timer_entry& timer)
bool
isValidIpAddress
(
const
std
::
string
&
address
)
{
size_t
pos
=
address
.
find
(
":"
);
std
::
string
address_without_port
(
address
);
if
(
pos
!=
std
::
string
::
npos
)
address_without_port
=
address
.
substr
(
0
,
pos
);
DEBUG
(
"Testing address %s"
,
address_without_port
.
c_str
());
struct
sockaddr_in
sa
;
int
result
=
inet_pton
(
AF_INET
,
address
.
data
(),
&
(
sa
.
sin_addr
));
int
result
=
inet_pton
(
AF_INET
,
address
_without_port
.
data
(),
&
(
sa
.
sin_addr
));
return
result
!=
0
;
}
...
...
@@ -1629,8 +1635,10 @@ void update_contact_header(pjsip_regc_cbparam *param, SIPAccount *account)
// TODO: make this based on transport type
// with pjsip_transport_get_default_port_for_type(tp_type);
if
(
uri
->
port
==
0
)
if
(
uri
->
port
==
0
)
{
ERROR
(
"Port is 0 in uri"
);
uri
->
port
=
DEFAULT_SIP_PORT
;
}
std
::
string
recvContactHost
(
uri
->
host
.
ptr
,
uri
->
host
.
slen
);
std
::
stringstream
ss
;
...
...
daemon/test/resamplertest.cpp
View file @
008c8846
...
...
@@ -29,11 +29,16 @@
*/
#include <iostream>
#include <iterator>
#include <algorithm>
#include <math.h>
#include "resamplertest.h"
ResamplerTest
::
ResamplerTest
()
:
CppUnit
::
TestCase
(
"Resampler module test"
),
inputBuffer
(),
outputBuffer
()
{}
void
ResamplerTest
::
setUp
()
{
...
...
@@ -44,6 +49,16 @@ void ResamplerTest::tearDown()
}
namespace
{
template
<
typename
T
>
void
print_buffer
(
T
&
buffer
)
{
std
::
copy
(
buffer
.
begin
(),
buffer
.
end
(),
std
::
ostream_iterator
<
SFLDataFormat
>
(
std
::
cout
,
", "
));
std
::
cout
<<
std
::
endl
;
}
}
void
ResamplerTest
::
testUpsamplingRamp
()
{
// generate input samples and store them in inputBuffer
...
...
@@ -59,15 +74,11 @@ void ResamplerTest::testUpsamplingRamp()
std
::
copy
(
inputBuffer
.
begin
(),
inputBuffer
.
begin
()
+
tmpInputBuffer
.
size
(),
tmpInputBuffer
.
begin
());
std
::
cout
<<
"Input Buffer"
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
tmpInputBuffer
.
size
();
i
++
)
std
::
cout
<<
tmpInputBuffer
[
i
]
<<
", "
;
std
::
cout
<<
std
::
endl
;
print_buffer
(
tmpInputBuffer
);
std
::
copy
(
outputBuffer
.
begin
(),
outputBuffer
.
begin
()
+
tmpOutputBuffer
.
size
(),
tmpOutputBuffer
.
begin
());
std
::
cout
<<
"Output Buffer"
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
tmpOutputBuffer
.
size
();
i
++
)
std
::
cout
<<
tmpOutputBuffer
[
i
]
<<
", "
;
std
::
cout
<<
std
::
endl
;
print_buffer
(
tmpOutputBuffer
);
}
void
ResamplerTest
::
testDownsamplingRamp
()
...
...
@@ -84,15 +95,11 @@ void ResamplerTest::testDownsamplingRamp()
std
::
copy
(
inputBuffer
.
begin
(),
inputBuffer
.
begin
()
+
tmpInputBuffer
.
size
(),
tmpInputBuffer
.
begin
());
std
::
cout
<<
"Input Buffer"
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
tmpInputBuffer
.
size
();
i
++
)
std
::
cout
<<
tmpInputBuffer
[
i
]
<<
", "
;
std
::
cout
<<
std
::
endl
;
print_buffer
(
tmpInputBuffer
);
std
::
copy
(
outputBuffer
.
begin
(),
outputBuffer
.
begin
()
+
tmpOutputBuffer
.
size
(),
tmpOutputBuffer
.
begin
());
std
::
cout
<<
"Output Buffer"
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
tmpOutputBuffer
.
size
();
i
++
)
std
::
cout
<<
tmpOutputBuffer
[
i
]
<<
", "
;
std
::
cout
<<
std
::
endl
;
print_buffer
(
tmpOutputBuffer
);
}
void
ResamplerTest
::
testUpsamplingTriangle
()
...
...
@@ -109,15 +116,11 @@ void ResamplerTest::testUpsamplingTriangle()
std
::
copy
(
inputBuffer
.
begin
(),
inputBuffer
.
begin
()
+
tmpInputBuffer
.
size
(),
tmpInputBuffer
.
begin
());
std
::
cout
<<
"Input Buffer"
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
tmpInputBuffer
.
size
();
i
++
)
std
::
cout
<<
tmpInputBuffer
[
i
]
<<
", "
;
std
::
cout
<<
std
::
endl
;
print_buffer
(
tmpInputBuffer
);
std
::
copy
(
outputBuffer
.
begin
(),
outputBuffer
.
begin
()
+
tmpOutputBuffer
.
size
(),
tmpOutputBuffer
.
begin
());
std
::
cout
<<
"Output Buffer"
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
tmpOutputBuffer
.
size
();
i
++
)
std
::
cout
<<
tmpOutputBuffer
[
i
]
<<
", "
;
std
::
cout
<<
std
::
endl
;
print_buffer
(
tmpOutputBuffer
);
}
void
ResamplerTest
::
testDownsamplingTriangle
()
...
...
@@ -134,15 +137,11 @@ void ResamplerTest::testDownsamplingTriangle()
std
::
copy
(
inputBuffer
.
begin
(),
inputBuffer
.
begin
()
+
tmpInputBuffer
.
size
(),
tmpInputBuffer
.
begin
());
std
::
cout
<<
"Input Buffer"
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
tmpInputBuffer
.
size
();
i
++
)
std
::
cout
<<
tmpInputBuffer
[
i
]
<<
", "
;
std
::
cout
<<
std
::
endl
;
print_buffer
(
tmpInputBuffer
);
std
::
copy
(
outputBuffer
.
begin
(),
outputBuffer
.
begin
()
+
tmpOutputBuffer
.
size
(),
tmpOutputBuffer
.
begin
());
std
::
cout
<<
"Output Buffer"
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
tmpOutputBuffer
.
size
();
i
++
)
std
::
cout
<<
tmpOutputBuffer
[
i
]
<<
", "
;
std
::
cout
<<
std
::
endl
;
print_buffer
(
tmpOutputBuffer
);
}
void
ResamplerTest
::
testUpsamplingSine
()
{
...
...
@@ -159,15 +158,11 @@ void ResamplerTest::testUpsamplingSine()
std
::
copy
(
inputBuffer
.
begin
(),
inputBuffer
.
begin
()
+
tmpInputBuffer
.
size
(),
tmpInputBuffer
.
begin
());
std
::
cout
<<
"Input Buffer"
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
tmpInputBuffer
.
size
();
i
++
)
std
::
cout
<<
tmpInputBuffer
[
i
]
<<
", "
;
std
::
cout
<<
std
::
endl
;
print_buffer
(
tmpInputBuffer
);
std
::
copy
(
outputBuffer
.
begin
(),
outputBuffer
.
begin
()
+
tmpOutputBuffer
.
size
(),
tmpOutputBuffer
.
begin
());
std
::
cout
<<
"Output Buffer"
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
tmpOutputBuffer
.
size
();
i
++
)
std
::
cout
<<
tmpOutputBuffer
[
i
]
<<
", "
;
std
::
cout
<<
std
::
endl
;
print_buffer
(
tmpOutputBuffer
);
}
void
ResamplerTest
::
testDownsamplingSine
()
...
...
@@ -185,36 +180,29 @@ void ResamplerTest::testDownsamplingSine()
std
::
copy
(
inputBuffer
.
begin
(),
inputBuffer
.
begin
()
+
tmpInputBuffer
.
size
(),
tmpInputBuffer
.
begin
());
std
::
cout
<<
"Input Buffer"
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
tmpInputBuffer
.
size
();
i
++
)
std
::
cout
<<
tmpInputBuffer
[
i
]
<<
", "
;
std
::
cout
<<
std
::
endl
;
print_buffer
(
tmpInputBuffer
);
std
::
copy
(
outputBuffer
.
begin
(),
outputBuffer
.
begin
()
+
tmpOutputBuffer
.
size
(),
tmpOutputBuffer
.
begin
());
std
::
cout
<<
"Output Buffer"
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
tmpOutputBuffer
.
size
();
i
++
)
std
::
cout
<<
tmpOutputBuffer
[
i
]
<<
", "
;
std
::
cout
<<
std
::
endl
;
print_buffer
(
tmpOutputBuffer
);
}
void
ResamplerTest
::
generateRamp
()
{
for
(
int
i
=
0
;
i
<
inputBuffer
.
size
();
i
++
)
{
inputBuffer
[
i
]
=
(
SFLDataFormat
)
i
;
}
for
(
size_t
i
=
0
;
i
<
inputBuffer
.
size
();
++
i
)
inputBuffer
[
i
]
=
i
;
}
void
ResamplerTest
::
generateTriangularSignal
()
{
for
(
int
i
=
0
;
i
<
inputBuffer
.
size
();
i
++
)
{
inputBuffer
[
i
]
=
(
SFLDataFormat
)(
i
*
10
);
}
for
(
size_t
i
=
0
;
i
<
inputBuffer
.
size
();
++
i
)
inputBuffer
[
i
]
=
i
*
10
;
}
void
ResamplerTest
::
generateSineSignal
()
{
for
(
int
i
=
0
;
i
<
inputBuffer
.
size
();
i
++
)
{
inputBuffer
[
i
]
=
(
SFLDataFormat
)(
1000.0
*
sin
((
double
)
i
));
}
for
(
size_t
i
=
0
;
i
<
inputBuffer
.
size
();
++
i
)
inputBuffer
[
i
]
=
(
SFLDataFormat
)
(
1000.0
*
sin
(
i
));
}
void
ResamplerTest
::
performUpsampling
(
SamplerateConverter
&
converter
)
...
...
@@ -222,8 +210,7 @@ void ResamplerTest::performUpsampling(SamplerateConverter &converter)
LowSmplrBuffer
tmpInputBuffer
;
HighSmplrBuffer
tmpOutputBuffer
;
int
i
,
j
;
for
(
i
=
0
,
j
=
0
;
i
<
(
inputBuffer
.
size
()
/
2
);
i
+=
tmpInputBuffer
.
size
(),
j
+=
tmpOutputBuffer
.
size
())
{
for
(
size_t
i
=
0
,
j
=
0
;
i
<
(
inputBuffer
.
size
()
/
2
);
i
+=
tmpInputBuffer
.
size
(),
j
+=
tmpOutputBuffer
.
size
())
{
std
::
copy
(
inputBuffer
.
begin
()
+
i
,
inputBuffer
.
begin
()
+
tmpInputBuffer
.
size
()
+
i
,
tmpInputBuffer
.
begin
());
converter
.
resample
(
tmpInputBuffer
.
data
(),
tmpOutputBuffer
.
data
(),
tmpOutputBuffer
.
size
(),
8000
,
16000
,
tmpInputBuffer
.
size
());
std
::
copy
(
tmpOutputBuffer
.
begin
(),
tmpOutputBuffer
.
end
(),
outputBuffer
.
begin
()
+
j
);
...
...
@@ -235,8 +222,7 @@ void ResamplerTest::performDownsampling(SamplerateConverter &converter)
HighSmplrBuffer
tmpInputBuffer
;
LowSmplrBuffer
tmpOutputBuffer
;
int
i
,
j
;
for
(
i
=
0
,
j
=
0
;
i
<
inputBuffer
.
size
();
i
+=
tmpInputBuffer
.
size
(),
j
+=
tmpOutputBuffer
.
size
())
{
for
(
size_t
i
=
0
,
j
=
0
;
i
<
inputBuffer
.
size
();
i
+=
tmpInputBuffer
.
size
(),
j
+=
tmpOutputBuffer
.
size
())
{
std
::
copy
(
inputBuffer
.
begin
()
+
i
,
inputBuffer
.
begin
()
+
tmpInputBuffer
.
size
()
+
i
,
tmpInputBuffer
.
begin
());
converter
.
resample
(
tmpInputBuffer
.
data
(),
tmpOutputBuffer
.
data
(),
tmpOutputBuffer
.
size
(),
16000
,
8000
,
tmpInputBuffer
.
size
());
std
::
copy
(
tmpOutputBuffer
.
begin
(),
tmpOutputBuffer
.
end
(),
outputBuffer
.
begin
()
+
j
);
...
...
daemon/test/resamplertest.h
View file @
008c8846
...
...
@@ -39,6 +39,7 @@
#include <tr1/array>
#include "audio/samplerateconverter.h"
#include "noncopyable.h"
#define MAX_BUFFER_LENGTH 40000
#define TMP_LOWSMPLR_BUFFER_LENGTH 160
...
...
@@ -62,7 +63,7 @@ class ResamplerTest : public CppUnit::TestCase {
CPPUNIT_TEST_SUITE_END
();
public:
ResamplerTest
()
:
CppUnit
::
TestCase
(
"Resampler module test"
)
{}
ResamplerTest
()
;
/*
* Code factoring - Common resources can be initialized here.
...
...
@@ -107,6 +108,7 @@ class ResamplerTest : public CppUnit::TestCase {
void
testDownsamplingSine
();
private:
NON_COPYABLE
(
ResamplerTest
);
/*
* Generate a ramp to be stored in inputBuffer
...
...
@@ -142,12 +144,6 @@ private:
* Used to receive output samples
*/
std
::
tr1
::
array
<
SFLDataFormat
,
MAX_BUFFER_LENGTH
>
outputBuffer
;
/**
* Pointer to samplerate converter, may be reinitialized during tests
* don't keep a statically declared instance.
*/
SamplerateConverter
*
converter
;
};
/* Register the test module */
...
...
gnome/src/contacts/addrbookfactory.c
View file @
008c8846
...
...
@@ -39,7 +39,6 @@
AddrBookHandle
*
addrbook
=
NULL
;
/**
* Callback called after all book have been processed
*/
...
...
@@ -93,7 +92,7 @@ void abook_init()
void
*
handle
=
dlopen
(
PLUGINS_DIR
"/libevladdrbook.so"
,
RTLD_LAZY
);
if
(
handle
==
NULL
)
{
ERROR
(
"Addressbook: Error: Coul
d not load addressbook"
);
DEBUG
(
"Di
d not load addressbook"
);
return
;
}
...
...
@@ -102,7 +101,7 @@ void abook_init()
#define LOAD(func) do { \
addrbook-> func = dlsym(handle, "addressbook_" #func); \
if (addrbook-> func == NULL) \
ERROR("
Addressbook:
Couldn't load " # func); \
ERROR("Couldn't load " # func); \
} while(0)
...
...
gnome/src/contacts/calltree.c
View file @
008c8846
...
...
@@ -115,10 +115,8 @@ call_selected_cb(GtkTreeSelection *sel, void* data UNUSED)
GtkTreeModel
*
model
=
gtk_tree_view_get_model
(
gtk_tree_selection_get_tree_view
(
sel
));
GtkTreeIter
iter
;
if
(
!
gtk_tree_selection_get_selected
(
sel
,
&
model
,
&
iter
))
{
DEBUG
(
"gtk_tree_selection_get_selected return non zero!!!!!!!!!!!!!!!!!!!!!!!!! stop selected callback
\n
"
);
if
(
!
gtk_tree_selection_get_selected
(
sel
,
&
model
,
&
iter
))
return
;
}
if
(
active_calltree_tab
==
history_tab
)
DEBUG
(
"Current call tree is history"
);
...
...
@@ -1048,6 +1046,11 @@ remove_conference(GtkTreeModel *model, GtkTreePath *path UNUSED, GtkTreeIter *it
void
calltree_remove_conference
(
calltab_t
*
tab
,
const
conference_obj_t
*
conf
)
{
if
(
conf
==
NULL
)
{
ERROR
(
"Could not remove conference, conference pointer is NULL"
);
return
;
}
ConferenceRemoveCtx
context
=
{
tab
,
conf
};
GtkTreeStore
*
store
=
tab
->
store
;
GtkTreeModel
*
model
=
GTK_TREE_MODEL
(
store
);
...
...
gnome/src/contacts/conferencelist.c
View file @
008c8846
...
...
@@ -94,11 +94,11 @@ void conferencelist_add(calltab_t *tab, const conference_obj_t* conf)
}
void
conferencelist_remove
(
calltab_t
*
tab
,
const
gchar
*
const
conf
)
void
conferencelist_remove
(
calltab_t
*
tab
,
const
gchar
*
const
conf
_id
)
{
DEBUG
(
"ConferenceList: Remove conference %s"
,
conf
);
DEBUG
(
"ConferenceList: Remove conference %s"
,
conf
_id
);
if
(
conf
==
NULL
)
{
if
(
conf
_id
==
NULL
)
{
ERROR
(
"ConferenceList: Error: Conf id is NULL"
);
return
;
}
...
...
@@ -108,12 +108,10 @@ void conferencelist_remove(calltab_t *tab, const gchar* const conf)
return
;
}
gchar
*
c
=
(
gchar
*
)
conferencelist_get
(
tab
,
conf
);
conference_obj_t
*
c
=
conferencelist_get
(
tab
,
conf_id
);
if
(
c
==
NULL
)
{
ERROR
(
"ConferenceList: Error: Could not find conference %s"
,
conf
);
if
(
c
==
NULL
)
return
;
}
g_queue_remove
(
tab
->
conferenceQueue
,
c
);
}
...
...
@@ -129,10 +127,8 @@ conference_obj_t* conferencelist_get(calltab_t *tab, const gchar* const conf_id)
GList
*
c
=
g_queue_find_custom
(
tab
->
conferenceQueue
,
conf_id
,
is_confID_confstruct
);
if
(
c
==
NULL
)
{
ERROR
(
"ConferenceList: Error: Could not find conference %s"
,
conf_id
);
if
(
c
==
NULL
)
return
NULL
;
}
return
(
conference_obj_t
*
)
c
->
data
;
}
...
...
gnome/src/dbus/configurationmanager-introspec.xml
View file @
008c8846
...
...
@@ -91,7 +91,6 @@
Get configuration settings of the IP2IP_PROFILE. They are sligthly different from account settings since no VoIP accounts are involved.
</tp:docstring>
<annotation
name=
"com.trolltech.QtDBus.QtTypeName.Out0"
value=
"MapStringString"
/>
<!--<annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>-->
<arg
type=
"a{ss}"
name=
"details"
direction=
"out"
tp:type=
"String_String_Map"
>
<tp:docstring>
Available parameters are:
...
...
@@ -447,6 +446,9 @@
<signal
name=
"accountsChanged"
tp:name-for-bindings=
"accountsChanged"
>
</signal>
<signal
name=
"historyChanged"
tp:name-for-bindings=
"historyChanged"
>
</signal>
<signal
name=
"registrationStateChanged"
tp:name-for-bindings=
"registrationStateChanged"
>
<arg
type=
"s"
name=
"accountID"
/>
<arg
type=
"i"
name=
"registration_state"
/>
...
...
gnome/src/dbus/dbus.c
View file @
008c8846
...
...
@@ -68,7 +68,7 @@ static GDBusProxy *session_manager_proxy;
static
gboolean
check_error
(
GError
*
error
)
{
if
(
error
)
{
DEBUG
(
"DBUS: Error:
%s"
,
error
->
message
);
ERROR
(
"
%s"
,
error
->
message
);
g_error_free
(
error
);
return
TRUE
;
}
...
...
@@ -154,7 +154,6 @@ incoming_message_cb(DBusGProxy *proxy UNUSED, const gchar *callID UNUSED,
id
=
call
->
_callID
;
}
else
{
conference_obj_t
*
conf
=
conferencelist_get
(
current_calls_tab
,
callID
);
if
(
!
conf
)
{
ERROR
(
"Message received, but no recipient found"
);
return
;
...
...
@@ -236,7 +235,7 @@ process_nonexisting_call_state_change(const gchar *callID, const gchar *state)
g_strcmp0
(
state
,
"CURRENT"
)
==
0
||
g_strcmp0
(
state
,
"RECORD"
))
{
DEBUG
(
"
DBUS:
New ringing call! accountID: %s"
,
callID
);
DEBUG
(
"New ringing call! accountID: %s"
,
callID
);
restore_call
(
callID
);
callable_obj_t
*
new_call
=
calllist_get_call
(
current_calls_tab
,
callID
);
...
...
@@ -256,7 +255,7 @@ call_state_cb(DBusGProxy *proxy UNUSED, const gchar *callID,
if
(
c
)
process_existing_call_state_change
(
c
,
state
);
else
{
WARN
(
"
DBUS:
Call does not exist in %s"
,
__func__
);
WARN
(
"Call does not exist in %s"
,
__func__
);
process_nonexisting_call_state_change
(
callID
,
state
);
}
}
...
...
@@ -276,12 +275,11 @@ static void
conference_changed_cb
(
DBusGProxy
*
proxy
UNUSED
,
const
gchar
*
confID
,
const
gchar
*
state
,
void
*
foo
UNUSED
)
{
DEBUG
(
"
DBUS:
Conference state changed: %s
\n
"
,
state
);
DEBUG
(
"Conference state changed: %s
\n
"
,
state
);
conference_obj_t
*
changed_conf
=
conferencelist_get
(
current_calls_tab
,
confID
);
if
(
changed_conf
==
NULL
)
{
ERROR
(
"
DBUS:
Conference is NULL in conference state changed"
);
ERROR
(
"Conference is NULL in conference state changed"
);
return
;
}
...
...
@@ -319,7 +317,7 @@ conference_changed_cb(DBusGProxy *proxy UNUSED, const gchar *confID,
static
void
conference_created_cb
(
DBusGProxy
*
proxy
UNUSED
,
const
gchar
*
confID
,
void
*
foo
UNUSED
)
{
DEBUG
(
"
DBUS:
Conference %s added"
,
confID
);
DEBUG
(
"Conference %s added"
,
confID
);
conference_obj_t
*
new_conf
=
create_new_conference
(
CONFERENCE_STATE_ACTIVE_ATTACHED
,
confID
);
...
...
@@ -353,8 +351,13 @@ static void
conference_removed_cb
(
DBusGProxy
*
proxy
UNUSED
,
const
gchar
*
confID
,
void
*
foo
UNUSED
)
{
DEBUG
(
"
DBUS:
Conference removed %s"
,
confID
);
DEBUG
(
"Conference removed %s"
,
confID
);
conference_obj_t
*
c
=
conferencelist_get
(
current_calls_tab
,
confID
);
if
(
c
==
NULL
)
{
ERROR
(
"Could not find conference %s from list"
,
confID
);
return
;
}
calltree_remove_conference
(
current_calls_tab
,
c
);
im_widget_update_state
(
IM_WIDGET
(
c
->
_im_widget
),
FALSE
);
...
...
@@ -375,17 +378,17 @@ static void
record_playback_filepath_cb
(
DBusGProxy
*
proxy
UNUSED
,
const
gchar
*
id
,
const
gchar
*
filepath
)
{
DEBUG
(
"
DBUS:
Filepath for %s: %s"
,
id
,
filepath
);
DEBUG
(
"Filepath for %s: %s"
,
id
,
filepath
);
callable_obj_t
*
call
=
calllist_get_call
(
current_calls_tab
,
id
);
conference_obj_t
*
conf
=
conferencelist_get
(
current_calls_tab
,
id
);
if
(
call
&&
conf
)
{
ERROR
(
"
DBUS:
Two objects for this callid"
);
ERROR
(
"Two objects for this callid"
);
return
;
}
if
(
!
call
&&
!
conf
)
{
ERROR
(
"
DBUS:
Could not get object"
);
ERROR
(
"Could not get object"
);
return
;
}
...
...
@@ -398,14 +401,14 @@ record_playback_filepath_cb(DBusGProxy *proxy UNUSED, const gchar *id,
static
void
record_playback_stopped_cb
(
DBusGProxy
*
proxy
UNUSED
,
const
gchar
*
filepath
)
{
DEBUG
(
"
DBUS:
Playback stopped for %s"
,
filepath
);
DEBUG
(
"Playback stopped for %s"
,
filepath
);
const
gint
calllist_size
=
calllist_get_size
(
history_tab
);
for
(
gint
i
=
0
;
i
<
calllist_size
;
i
++
)
{
callable_obj_t
*
call
=
calllist_get_nth
(
history_tab
,
i
);
if
(
call
==
NULL
)
{
ERROR
(
"
DBUS: ERROR:
Could not find %dth call"
,
i
);
ERROR
(
"Could not find %dth call"
,
i
);
break
;
}
if
(
g_strcmp0
(
call
->
_recordfile
,
filepath
)
==
0
)
...
...
@@ -471,7 +474,7 @@ transfer_failed_cb(DBusGProxy *proxy UNUSED, void *foo UNUSED)
static
void
secure_sdes_on_cb
(
DBusGProxy
*
proxy
UNUSED
,
const
gchar
*
callID
,
void
*
foo
UNUSED
)
{
DEBUG
(
"
DBUS:
SRTP using SDES is on"
);
DEBUG
(
"SRTP using SDES is on"
);
callable_obj_t
*
c
=
calllist_get_call
(
current_calls_tab
,
callID
);
if
(
c
)
{
...
...
@@ -483,7 +486,7 @@ secure_sdes_on_cb(DBusGProxy *proxy UNUSED, const gchar *callID, void *foo UNUSE
static
void
secure_sdes_off_cb
(
DBusGProxy
*
proxy
UNUSED
,
const
gchar
*
callID
,
void
*
foo
UNUSED
)
{
DEBUG
(
"
DBUS:
SRTP using SDES is off"
);
DEBUG
(
"SRTP using SDES is off"
);
callable_obj_t
*
c
=
calllist_get_call
(
current_calls_tab
,
callID
);
if
(
c
)
{
...
...
@@ -496,7 +499,7 @@ static void
secure_zrtp_on_cb
(
DBusGProxy
*
proxy
UNUSED
,
const
gchar
*
callID
,
const
gchar
*
cipher
,
void
*
foo
UNUSED
)
{
DEBUG
(
"
DBUS:
SRTP using ZRTP is ON secure_on_cb"
);
DEBUG
(
"SRTP using ZRTP is ON secure_on_cb"
);
callable_obj_t
*
c
=
calllist_get_call
(
current_calls_tab
,
callID
);
if
(
c
)
{
...
...
@@ -509,7 +512,7 @@ secure_zrtp_on_cb(DBusGProxy *proxy UNUSED, const gchar *callID,
static
void
secure_zrtp_off_cb
(
DBusGProxy
*
proxy
UNUSED
,
const
gchar
*
callID
,
void
*
foo
UNUSED
)
{
DEBUG
(
"
DBUS:
SRTP using ZRTP is OFF"
);
DEBUG
(
"SRTP using ZRTP is OFF"
);
callable_obj_t
*
c
=
calllist_get_call
(
current_calls_tab
,
callID
);
if
(
c
)
{
...
...
@@ -522,7 +525,7 @@ static void
show_zrtp_sas_cb
(
DBusGProxy
*
proxy
UNUSED
,
const
gchar
*
callID
,
const
gchar
*
sas
,
gboolean
verified
,
void
*
foo
UNUSED
)
{
DEBUG
(
"
DBUS:
Showing SAS"
);
DEBUG
(
"Showing SAS"
);
callable_obj_t
*
c
=
calllist_get_call
(
current_calls_tab
,
callID
);
if
(
c
)
...
...
@@ -532,7 +535,7 @@ show_zrtp_sas_cb(DBusGProxy *proxy UNUSED, const gchar *callID, const gchar *sas
static
void
confirm_go_clear_cb
(
DBusGProxy
*
proxy
UNUSED
,
const
gchar
*
callID
,
void
*
foo
UNUSED
)
{
DEBUG
(
"
DBUS:
Confirm Go Clear request"
);
DEBUG
(
"Confirm Go Clear request"
);
callable_obj_t
*
c
=
calllist_get_call
(
current_calls_tab
,
callID
);
if
(
c
)
...
...
@@ -555,7 +558,7 @@ static void
sip_call_state_cb
(
DBusGProxy
*
proxy
UNUSED
,
const
gchar
*
callID
,
const
gchar
*
description
,
guint
code
,
void
*
foo
UNUSED
)
{
DEBUG
(
"
DBUS:
Sip call state changed %s"
,
callID
);
DEBUG
(
"Sip call state changed %s"
,
callID
);
callable_obj_t
*
c
=
calllist_get_call
(
current_calls_tab
,
callID
);
if
(
c
)
...
...
@@ -597,11 +600,11 @@ error_alert(DBusGProxy *proxy UNUSED, int err, void *foo UNUSED)
static
void
screensaver_dbus_proxy_new_cb
(
GObject
*
source
UNUSED
,
GAsyncResult
*
result
,
gpointer
user_data
UNUSED
)
{
DEBUG
(
"
DBUS:
Session manager connection callback"
);
DEBUG
(
"Session manager connection callback"
);
session_manager_proxy
=
g_dbus_proxy_new_for_bus_finish
(
result
,
NULL
);
if
(
session_manager_proxy
==
NULL
)