~mateo-salta/nitroshare/nitroshare

« back to all changes in this revision

Viewing changes to src/rpc/CRPCServer.cpp

  • Committer: Nathan Osman
  • Date: 2012-07-04 22:38:09 UTC
  • Revision ID: admin@quickmediasolutions.com-20120704223809-3f3w98omt2f90ba6
Added [empty] menu item to indicator when there are no machines available.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* NitroShare - A simple network file sharing tool.
2
 
   Copyright (C) 2012 Nathan Osman
3
 
 
4
 
   This program is free software: you can redistribute it and/or modify
5
 
   it under the terms of the GNU General Public License as published by
6
 
   the Free Software Foundation, either version 3 of the License, or
7
 
   (at your option) any later version.
8
 
 
9
 
   This program is distributed in the hope that it will be useful,
10
 
   but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 
   GNU General Public License for more details.
13
 
 
14
 
   You should have received a copy of the GNU General Public License
15
 
   along with this program.  If not, see <http://www.gnu.org/licenses/>. */
16
 
 
17
 
#include <QDebug>
18
 
 
19
 
#include <rpc/CRPCServer.h>
20
 
#include <util/settings.h>
21
 
 
22
 
CRPCServer::CRPCServer()
23
 
{
24
 
    /* Register the methods we allow. Notice that we use List when
25
 
       we expect a list of strings and not StringList. */
26
 
    registerMethod("SendFiles", QVariant::Bool, QVariant::List);
27
 
 
28
 
    connect(this, SIGNAL(incomingRequest(int,QString,QList<xmlrpc::Variant>)),
29
 
                  SLOT(OnRequest(int,QString,QList<xmlrpc::Variant>)));
30
 
}
31
 
 
32
 
bool CRPCServer::Init()
33
 
{
34
 
    quint16 port = Settings::Get("RPC/Port").toUInt();
35
 
    if(!listen(port))
36
 
    {
37
 
        qDebug() << "Unable to bind XML-RPC server to port" << port;
38
 
        return false;
39
 
    }
40
 
 
41
 
    return true;
42
 
}
43
 
 
44
 
void CRPCServer::OnRequest(int request_id, QString method_name, QList<xmlrpc::Variant> parameters)
45
 
{
46
 
    qDebug() << "RPC call to" << method_name;
47
 
 
48
 
    if(method_name == "SendFiles")
49
 
    {
50
 
        emit SendFiles(parameters.at(0).toStringList(), "");
51
 
        sendReturnValue(request_id, true);
52
 
    }
53
 
}