- tarot plugin: new methods/signals tarotGamePlayCards, tarotGameShowCards, tarotGameYourTurn - tarot plugin: protocole update - tarot plugin: family renamed in suit - wix: card_game: card can be selected for écart, card move when mouse is over only if it's our turn
158 lines
6.4 KiB
Python
Executable file
158 lines
6.4 KiB
Python
Executable file
#!/usr/bin/python
|
|
#-*- coding: utf-8 -*-
|
|
|
|
"""
|
|
SAT communication bridge
|
|
Copyright (C) 2009, 2010 Jérôme Poisson (goffi@goffi.org)
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
"""
|
|
|
|
from bridge_frontend import BridgeFrontend
|
|
import dbus, dbus.glib
|
|
|
|
|
|
class DBusBridgeFrontend(BridgeFrontend):
|
|
def __init__(self):
|
|
self.sessions_bus = dbus.SessionBus()
|
|
self.db_object = self.sessions_bus.get_object('org.goffi.SAT',
|
|
'/org/goffi/SAT/bridge')
|
|
self.db_comm_iface = dbus.Interface(self.db_object,
|
|
dbus_interface='org.goffi.SAT.communication')
|
|
self.db_req_iface = dbus.Interface(self.db_object,
|
|
dbus_interface='org.goffi.SAT.request')
|
|
#props = self.db_comm_iface.getProperties()
|
|
|
|
def register(self, functionName, handler, iface="communication"):
|
|
if iface == "communication":
|
|
self.db_comm_iface.connect_to_signal(functionName, handler)
|
|
elif iface == "request":
|
|
self.db_req_iface.connect_to_signal(functionName, handler)
|
|
|
|
def getProfileName(self, profile_key='@DEFAULT@'):
|
|
return self.db_req_iface.getProfileName(profile_key)
|
|
|
|
def getProfilesList(self):
|
|
return self.db_req_iface.getProfilesList()
|
|
|
|
def createProfile(self, name):
|
|
return self.db_req_iface.createProfile(name)
|
|
|
|
def deleteProfile(self, name):
|
|
return self.db_req_iface.deleteProfile(name)
|
|
|
|
def connect(self, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.connect(profile_key)
|
|
|
|
def disconnect(self, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.disconnect(profile_key)
|
|
|
|
def isConnected(self, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.isConnected(profile_key)
|
|
|
|
def getContacts(self, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.getContacts(profile_key)
|
|
|
|
def getPresenceStatus(self, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.getPresenceStatus(profile_key)
|
|
|
|
def getWaitingSub(self, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.getWaitingSub(profile_key)
|
|
|
|
def sendMessage(self, to, message, type='chat', profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.sendMessage(to, message, type, profile_key)
|
|
|
|
def setPresence(self, to="", show="", priority=0, statuses={}, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.setPresence(to, show, priority, statuses, profile_key)
|
|
|
|
def subscription(self, type, entity, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.subscription(type, entity, profile_key)
|
|
|
|
def setParam(self, name, value, category, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.setParam(name, value, category, profile_key)
|
|
|
|
def getParamA(self, name, category, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.getParamA(name, category, profile_key)
|
|
|
|
def getParams(self, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.getParams(profile_key)
|
|
|
|
def getParamsForCategory(self, category, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.getParamsForCategory(category, profile_key)
|
|
|
|
def getParamsCategories(self):
|
|
return self.db_comm_iface.getParamsCategories()
|
|
|
|
def getHistory(self, from_jid, to_jid, size):
|
|
return self.db_comm_iface.getHistory(from_jid, to_jid, size)
|
|
|
|
def addContact(self, jid, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.addContact(jid, profile_key)
|
|
|
|
def delContact(self, jid, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.delContact(jid, profile_key)
|
|
|
|
def launchAction(self, type, data):
|
|
return self.db_req_iface.launchAction(type, data)
|
|
|
|
def confirmationAnswer(self, id, accepted, data):
|
|
return self.db_req_iface.confirmationAnswer(id, accepted, data)
|
|
|
|
#methods from plugins
|
|
def getRoomJoined(self, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.getRoomJoined(profile_key)
|
|
|
|
def getRoomSubjects(self, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.getRoomSubjects(profile_key)
|
|
|
|
def joinMUC(self, service, roomId, nick, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.joinMUC(service, roomId, nick, profile_key)
|
|
|
|
def tarotGameCreate(self, room_jid, players, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.tarotGameCreate(room_jid, players, profile_key)
|
|
|
|
def tarotGameReady(self, player, referee, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.tarotGameReady(player, referee, profile_key)
|
|
|
|
def tarotGameContratChoosed(self, player, referee, contrat, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.tarotGameContratChoosed(player, referee, contrat, profile_key)
|
|
|
|
def tarotGamePlayCards(self, player, referee, cards, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.tarotGamePlayCards(player, referee, cards, profile_key)
|
|
|
|
def sendFile(self, to, path, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.sendFile(to, path, profile_key)
|
|
|
|
def findGateways(self, target, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.findGateways(target, profile_key)
|
|
|
|
def getCard(self, target, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.getCard(target, profile_key)
|
|
|
|
def getCardCache(self, target):
|
|
return self.db_comm_iface.getCardCache(target)
|
|
|
|
def getAvatarFile(self, hash):
|
|
return self.db_comm_iface.getAvatarFile(hash)
|
|
|
|
def in_band_register(self, target, profile_key='@DEFAULT@'):
|
|
return self.db_comm_iface.in_band_register(target, profile_key)
|
|
|
|
def gatewayRegister(self, action, target, data):
|
|
if data == None:
|
|
data = [('', '')] #XXX: we have to this awful hack because python dbus need to guess the signature
|
|
return self.db_req_iface.gatewayRegister(action, target, data)
|
|
|
|
def getProgress(self, id):
|
|
return self.db_req_iface.getProgress(id)
|