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
129
Issues
129
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
807ae2af
Commit
807ae2af
authored
Nov 11, 2009
by
Julien Bonjean
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[#1671] NetworkManager support: first shot
parent
c5f62c09
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
145 additions
and
6 deletions
+145
-6
sflphone-common/src/dbus/Makefile.am
sflphone-common/src/dbus/Makefile.am
+4
-1
sflphone-common/src/dbus/dbusmanagerimpl.cpp
sflphone-common/src/dbus/dbusmanagerimpl.cpp
+9
-5
sflphone-common/src/dbus/dbusmanagerimpl.h
sflphone-common/src/dbus/dbusmanagerimpl.h
+2
-0
sflphone-common/src/dbus/networkmanager.cpp
sflphone-common/src/dbus/networkmanager.cpp
+21
-0
sflphone-common/src/dbus/networkmanager.h
sflphone-common/src/dbus/networkmanager.h
+31
-0
sflphone-common/src/dbus/networkmanager_proxy.h
sflphone-common/src/dbus/networkmanager_proxy.h
+65
-0
sflphone-common/src/dbus/org.freedesktop.NetworkManager.xml
sflphone-common/src/dbus/org.freedesktop.NetworkManager.xml
+13
-0
No files found.
sflphone-common/src/dbus/Makefile.am
View file @
807ae2af
...
...
@@ -17,7 +17,8 @@ libdbus_la_SOURCES = \
callmanager.cpp
\
configurationmanager.cpp
\
instance.cpp
\
dbusmanagerimpl.cpp
dbusmanagerimpl.cpp
\
networkmanager.cpp
libdbus_la_CXXFLAGS
=
-DPREFIX
=
\"
$(prefix)
\"
-DPROGSHAREDIR
=
\"
${datadir}
/sflphone
\"
...
...
@@ -29,6 +30,8 @@ noinst_HEADERS = \
instance.h
\
dbusmanager.h
\
dbusmanagerimpl.h
\
networkmanager_proxy.h
\
networkmanager.h
\
$(BUILT_SOURCES)
# Dbus service file
...
...
sflphone-common/src/dbus/dbusmanagerimpl.cpp
View file @
807ae2af
...
...
@@ -23,6 +23,7 @@
#include "callmanager.h"
#include "configurationmanager.h"
#include "networkmanager.h"
const
char
*
DBusManagerImpl
::
SERVER_NAME
=
"org.sflphone.SFLphone"
;
...
...
@@ -32,12 +33,15 @@ DBusManagerImpl::exec()
DBus
::
default_dispatcher
=
&
_dispatcher
;
DBus
::
Connection
conn
=
DBus
::
Connection
::
SessionBus
();
conn
.
request_name
(
SERVER_NAME
);
DBus
::
Connection
sessionConnection
=
DBus
::
Connection
::
SessionBus
();
DBus
::
Connection
systemConnection
=
DBus
::
Connection
::
SystemBus
();
sessionConnection
.
request_name
(
SERVER_NAME
);
_callManager
=
new
CallManager
(
conn
);
_configurationManager
=
new
ConfigurationManager
(
conn
);
_instanceManager
=
new
Instance
(
conn
);
_callManager
=
new
CallManager
(
sessionConnection
);
_configurationManager
=
new
ConfigurationManager
(
sessionConnection
);
_instanceManager
=
new
Instance
(
sessionConnection
);
_networkManager
=
new
NetworkManager
(
systemConnection
,
"/org/freedesktop/NetworkManager"
,
""
);
// Register accounts
Manager
::
instance
().
initRegisterAccounts
();
//getEvents();
...
...
sflphone-common/src/dbus/dbusmanagerimpl.h
View file @
807ae2af
...
...
@@ -24,6 +24,7 @@
class
ConfigurationManager
;
class
CallManager
;
class
NetworkManager
;
class
DBusManagerImpl
{
public:
...
...
@@ -38,6 +39,7 @@ class DBusManagerImpl {
ConfigurationManager
*
_configurationManager
;
Instance
*
_instanceManager
;
DBus
::
BusDispatcher
_dispatcher
;
NetworkManager
*
_networkManager
;
};
#endif
sflphone-common/src/dbus/networkmanager.cpp
0 → 100644
View file @
807ae2af
#include "networkmanager.h"
#include <iostream>
using
namespace
std
;
const
string
NetworkManager
::
statesString
[
5
]
=
{
"unknown"
,
"asleep"
,
"connecting"
,
"connected"
,
"disconnected"
};
string
NetworkManager
::
stateAsString
(
const
uint32_t
&
state
)
{
return
statesString
[
state
];
}
void
NetworkManager
::
StateChanged
(
const
uint32_t
&
state
)
{
std
::
cout
<<
"state changed: "
<<
stateAsString
(
state
)
<<
std
::
endl
;
}
NetworkManager
::
NetworkManager
(
DBus
::
Connection
&
connection
,
const
DBus
::
Path
&
path
,
const
char
*
destination
)
:
DBus
::
ObjectProxy
(
connection
,
path
,
destination
)
{
}
sflphone-common/src/dbus/networkmanager.h
0 → 100644
View file @
807ae2af
#ifndef NETWORKMANAGER_H
#define NETWORKMANAGER_H
#include "networkmanager_proxy.h"
using
namespace
std
;
class
NetworkManager
:
public
org
::
freedesktop
::
NetworkManager_proxy
,
public
DBus
::
IntrospectableProxy
,
public
DBus
::
ObjectProxy
{
public:
NetworkManager
(
DBus
::
Connection
&
,
const
DBus
::
Path
&
,
const
char
*
);
void
StateChanged
(
const
uint32_t
&
state
);
string
stateAsString
(
const
uint32_t
&
state
);
typedef
enum
NMState
{
NM_STATE_UNKNOWN
=
0
,
NM_STATE_ASLEEP
,
NM_STATE_CONNECTING
,
NM_STATE_CONNECTED
,
NM_STATE_DISCONNECTED
}
NMState
;
static
const
string
statesString
[
5
];
};
#endif
sflphone-common/src/dbus/networkmanager_proxy.h
0 → 100644
View file @
807ae2af
#ifndef __dbusxx__networkmanager_proxy_h__PROXY_MARSHAL_H
#define __dbusxx__networkmanager_proxy_h__PROXY_MARSHAL_H
#include <dbus-c++/dbus.h>
#include <cassert>
#include <iostream>
namespace
org
{
namespace
freedesktop
{
class
NetworkManager_proxy
:
public
::
DBus
::
InterfaceProxy
{
public:
NetworkManager_proxy
()
:
::
DBus
::
InterfaceProxy
(
"org.freedesktop.NetworkManager"
)
{
connect_signal
(
NetworkManager_proxy
,
StateChanged
,
_StateChanged_stub
);
}
public:
/* properties exported by this interface */
public:
/* methods exported by this interface,
* this functions will invoke the corresponding methods on the remote objects
*/
/*
std::vector< ::DBus::Path > GetDevices()
{
::DBus::CallMessage call;
call.member("GetDevices");
::DBus::Message ret = invoke_method (call);
::DBus::MessageIter ri = ret.reader();
std::vector< ::DBus::Path > argout;
ri >> argout;
return argout;
}
*/
public:
/* signal handlers for this interface
*/
virtual
void
StateChanged
(
const
uint32_t
&
argin0
)
=
0
;
private:
/* unmarshalers (to unpack the DBus message before calling the actual signal handler)
*/
void
_StateChanged_stub
(
const
::
DBus
::
SignalMessage
&
sig
)
{
::
DBus
::
MessageIter
ri
=
sig
.
reader
();
uint32_t
arg0
;
ri
>>
arg0
;
StateChanged
(
arg0
);
}
};
}
}
#endif //__dbusxx__networkmanager_proxy_h__PROXY_MARSHAL_H
sflphone-common/src/dbus/org.freedesktop.NetworkManager.xml
0 → 100644
View file @
807ae2af
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interface
name=
"org.freedesktop.NetworkManager"
>
<method
name=
"GetDevices"
>
<arg
name=
"devices"
type=
"ao"
direction=
"out"
/>
</method>
<signal
name=
"StateChanged"
>
<arg
type=
"u"
/>
</signal>
</interface>
</node>
Write
Preview
Markdown
is supported
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