Merge branch 'master' of git://anongit.freedesktop.org/git/dbus/dbus-c++
Merge branch 'master' of git://anongit.freedesktop.org/git/dbus/dbus-c++ Conflicts: include/dbus-c++/connection.h include/dbus-c++/dispatcher.h include/dbus-c++/pendingcall.h src/dispatcher.cpp
This commit is contained in:
commit
c1970e2352
57 changed files with 1642 additions and 1638 deletions
|
@ -9,15 +9,15 @@
|
|||
|
||||
using namespace std;
|
||||
|
||||
static const char* ECHO_SERVER_NAME = "org.freedesktop.DBus.Examples.Echo";
|
||||
static const char* ECHO_SERVER_PATH = "/org/freedesktop/DBus/Examples/Echo";
|
||||
static const char *ECHO_SERVER_NAME = "org.freedesktop.DBus.Examples.Echo";
|
||||
static const char *ECHO_SERVER_PATH = "/org/freedesktop/DBus/Examples/Echo";
|
||||
|
||||
EchoClient::EchoClient( DBus::Connection& connection, const char* path, const char* name )
|
||||
EchoClient::EchoClient(DBus::Connection &connection, const char *path, const char *name)
|
||||
: DBus::ObjectProxy(connection, path, name)
|
||||
{
|
||||
}
|
||||
|
||||
void EchoClient::Echoed( const DBus::Variant& value )
|
||||
void EchoClient::Echoed(const DBus::Variant &value)
|
||||
{
|
||||
cout << "!";
|
||||
}
|
||||
|
@ -26,13 +26,13 @@ void EchoClient::Echoed( const DBus::Variant& value )
|
|||
* For some strange reason, libdbus frequently dies with an OOM
|
||||
*/
|
||||
|
||||
static const int THREADS = 16;
|
||||
static const int THREADS = 3;
|
||||
|
||||
static bool spin = true;
|
||||
|
||||
void* greeter_thread( void* arg )
|
||||
void *greeter_thread(void *arg)
|
||||
{
|
||||
DBus::Connection* conn = reinterpret_cast<DBus::Connection*>(arg);
|
||||
DBus::Connection *conn = reinterpret_cast<DBus::Connection *>(arg);
|
||||
|
||||
EchoClient client(*conn, ECHO_SERVER_PATH, ECHO_SERVER_NAME);
|
||||
|
||||
|
@ -40,7 +40,7 @@ void* greeter_thread( void* arg )
|
|||
|
||||
snprintf(idstr, sizeof(idstr), "%lu", pthread_self());
|
||||
|
||||
for(int i = 0; i < 100 && spin; ++i)
|
||||
for (int i = 0; i < 30 && spin; ++i)
|
||||
{
|
||||
cout << client.Hello(idstr) << endl;
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ void* greeter_thread( void* arg )
|
|||
|
||||
DBus::BusDispatcher dispatcher;
|
||||
|
||||
void niam( int sig )
|
||||
void niam(int sig)
|
||||
{
|
||||
spin = false;
|
||||
|
||||
|
@ -76,7 +76,7 @@ int main()
|
|||
|
||||
pthread_t threads[THREADS];
|
||||
|
||||
for(int i = 0; i < THREADS; ++i)
|
||||
for (int i = 0; i < THREADS; ++i)
|
||||
{
|
||||
pthread_create(threads+i, NULL, greeter_thread, &conn);
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ int main()
|
|||
|
||||
cout << "terminating" << endl;
|
||||
|
||||
for(int i = 0; i < THREADS; ++i)
|
||||
for (int i = 0; i < THREADS; ++i)
|
||||
{
|
||||
pthread_join(threads[i], NULL);
|
||||
}
|
||||
|
|
|
@ -11,9 +11,9 @@ class EchoClient
|
|||
{
|
||||
public:
|
||||
|
||||
EchoClient( DBus::Connection& connection, const char* path, const char* name );
|
||||
EchoClient(DBus::Connection &connection, const char *path, const char *name);
|
||||
|
||||
void Echoed( const DBus::Variant& value );
|
||||
void Echoed(const DBus::Variant &value);
|
||||
};
|
||||
|
||||
#endif//__DEMO_ECHO_CLIENT_H
|
||||
|
|
|
@ -9,58 +9,59 @@
|
|||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
|
||||
static const char* ECHO_SERVER_NAME = "org.freedesktop.DBus.Examples.Echo";
|
||||
static const char* ECHO_SERVER_PATH = "/org/freedesktop/DBus/Examples/Echo";
|
||||
static const char *ECHO_SERVER_NAME = "org.freedesktop.DBus.Examples.Echo";
|
||||
static const char *ECHO_SERVER_PATH = "/org/freedesktop/DBus/Examples/Echo";
|
||||
|
||||
EchoServer::EchoServer( DBus::Connection& connection )
|
||||
EchoServer::EchoServer(DBus::Connection &connection)
|
||||
: DBus::ObjectAdaptor(connection, ECHO_SERVER_PATH)
|
||||
{
|
||||
}
|
||||
|
||||
DBus::Int32 EchoServer::Random()
|
||||
int32_t EchoServer::Random()
|
||||
{
|
||||
return rand();
|
||||
}
|
||||
|
||||
DBus::String EchoServer::Hello( const DBus::String& name )
|
||||
std::string EchoServer::Hello(const std::string &name)
|
||||
{
|
||||
sleep (10);
|
||||
return "Hello " + name + "!";
|
||||
}
|
||||
|
||||
DBus::Variant EchoServer::Echo( const DBus::Variant& value )
|
||||
DBus::Variant EchoServer::Echo(const DBus::Variant &value)
|
||||
{
|
||||
this->Echoed(value);
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
std::vector< DBus::Byte > EchoServer::Cat( const DBus::String & file )
|
||||
std::vector< uint8_t > EchoServer::Cat(const std::string &file)
|
||||
{
|
||||
FILE* handle = fopen(file.c_str(), "rb");
|
||||
FILE *handle = fopen(file.c_str(), "rb");
|
||||
|
||||
if(!handle) throw DBus::Error("org.freedesktop.DBus.EchoDemo.ErrorFileNotFound", "file not found");
|
||||
if (!handle) throw DBus::Error("org.freedesktop.DBus.EchoDemo.ErrorFileNotFound", "file not found");
|
||||
|
||||
DBus::Byte buff[1024];
|
||||
uint8_t buff[1024];
|
||||
|
||||
size_t nread = fread(buff, 1, sizeof(buff), handle);
|
||||
|
||||
fclose(handle);
|
||||
|
||||
return std::vector< DBus::Byte > (buff, buff + nread);
|
||||
return std::vector< uint8_t > (buff, buff + nread);
|
||||
}
|
||||
|
||||
DBus::Int32 EchoServer::Sum( const std::vector<DBus::Int32>& ints )
|
||||
int32_t EchoServer::Sum(const std::vector<int32_t>& ints)
|
||||
{
|
||||
DBus::Int32 sum = 0;
|
||||
int32_t sum = 0;
|
||||
|
||||
for(size_t i = 0; i < ints.size(); ++i) sum += ints[i];
|
||||
for (size_t i = 0; i < ints.size(); ++i) sum += ints[i];
|
||||
|
||||
return sum;
|
||||
}
|
||||
|
||||
std::map< DBus::String, DBus::String > EchoServer::Info()
|
||||
std::map< std::string, std::string > EchoServer::Info()
|
||||
{
|
||||
std::map< DBus::String, DBus::String > info;
|
||||
std::map< std::string, std::string > info;
|
||||
char hostname[HOST_NAME_MAX];
|
||||
|
||||
gethostname(hostname, sizeof(hostname));
|
||||
|
@ -73,7 +74,7 @@ std::map< DBus::String, DBus::String > EchoServer::Info()
|
|||
|
||||
DBus::BusDispatcher dispatcher;
|
||||
|
||||
void niam( int sig )
|
||||
void niam(int sig)
|
||||
{
|
||||
dispatcher.leave();
|
||||
}
|
||||
|
|
|
@ -11,19 +11,19 @@ class EchoServer
|
|||
{
|
||||
public:
|
||||
|
||||
EchoServer( DBus::Connection& connection );
|
||||
EchoServer(DBus::Connection &connection);
|
||||
|
||||
DBus::Int32 Random();
|
||||
int32_t Random();
|
||||
|
||||
DBus::String Hello( const DBus::String & name );
|
||||
std::string Hello(const std::string &name);
|
||||
|
||||
DBus::Variant Echo( const DBus::Variant & value );
|
||||
DBus::Variant Echo(const DBus::Variant &value);
|
||||
|
||||
std::vector< DBus::Byte > Cat( const DBus::String & file );
|
||||
std::vector< uint8_t > Cat(const std::string &file);
|
||||
|
||||
DBus::Int32 Sum( const std::vector<DBus::Int32> & ints );
|
||||
int32_t Sum(const std::vector<int32_t> & ints);
|
||||
|
||||
std::map< DBus::String, DBus::String > Info();
|
||||
std::map< std::string, std::string > Info();
|
||||
};
|
||||
|
||||
#endif//__DEMO_ECHO_SERVER_H
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue