ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #00163
[Branch ~agateau/libindicate-qt/trunk] Rev 84: Get ready for indicate_server_set_count
------------------------------------------------------------
revno: 84
committer: Aurelien Gateau <aurelien.gateau@xxxxxxxxxxxxx>
branch nick: libindicate-qt
timestamp: Mon 2009-09-14 11:27:22 +0200
message:
Get ready for indicate_server_set_count
modified:
src/qindicatelistener.cpp
src/qindicatelistener.h
src/qindicateserver.cpp
src/qindicateserver.h
tests/communicationtest.cpp
tests/communicationtest.h
--
lp:libindicate-qt
https://code.launchpad.net/~agateau/libindicate-qt/trunk
Your team ayatana-commits is subscribed to branch lp:libindicate-qt.
To unsubscribe from this branch go to https://code.launchpad.net/~agateau/libindicate-qt/trunk/+edit-subscription.
=== modified file 'src/qindicatelistener.cpp'
--- src/qindicatelistener.cpp 2009-09-14 07:34:48 +0000
+++ src/qindicatelistener.cpp 2009-09-14 09:27:22 +0000
@@ -157,7 +157,7 @@
, mMethod(methodFromSlot(slot))
{}
- static void callIndicatorReceiver(IndicateListener* listener,
+ static void indicatorGetPropertyCB(IndicateListener* listener,
IndicateListenerServer* _server, IndicateListenerIndicator* _indicator,
gchar* _key, gchar* _value, gpointer data)
{
@@ -177,17 +177,28 @@
delete helper;
}
- static void callServerReceiver(IndicateListener* listener,
- IndicateListenerServer* _server, gchar* _value, gpointer data)
+ static void serverGetQByteArrayPropertyCB(IndicateListener* listener,
+ IndicateListenerServer* server, gchar* value, gpointer data)
+ {
+ serverGetPropertyCB(listener, server, Q_ARG(QByteArray, value), data);
+ }
+
+ static void serverGetUIntPropertyCB(IndicateListener* listener,
+ IndicateListenerServer* server, guint value, gpointer data)
+ {
+ serverGetPropertyCB(listener, server, Q_ARG(uint, value), data);
+ }
+
+private:
+ static void serverGetPropertyCB(IndicateListener* listener,
+ IndicateListenerServer* _server, QGenericArgument arg, gpointer data)
{
GetPropertyHelper* helper = static_cast<GetPropertyHelper*>(data);
if (helper) {
Listener::Server* server = reinterpret_cast<Listener::Server*>(_server);
- QByteArray value(_value);
QMetaObject::invokeMethod(helper->mReceiver, helper->mMethod.data(),
- Q_ARG(QIndicate::Listener::Server*, server),
- Q_ARG(QByteArray, value));
+ Q_ARG(QIndicate::Listener::Server*, server), arg);
}
delete helper;
}
@@ -205,7 +216,7 @@
indicate_listener_get_property(d->mGListener,
reinterpret_cast<IndicateListenerServer*>(server),
reinterpret_cast<IndicateListenerIndicator*>(indicator),
- key.toUtf8().data(), GetPropertyHelper::callIndicatorReceiver, helper);
+ key.toUtf8().data(), GetPropertyHelper::indicatorGetPropertyCB, helper);
}
void Listener::getServerDesktopFile(
@@ -217,7 +228,7 @@
indicate_listener_server_get_desktop(d->mGListener,
reinterpret_cast<IndicateListenerServer*>(server),
- GetPropertyHelper::callServerReceiver, helper);
+ GetPropertyHelper::serverGetQByteArrayPropertyCB, helper);
}
void Listener::getServerType(
@@ -229,7 +240,19 @@
indicate_listener_server_get_type(d->mGListener,
reinterpret_cast<IndicateListenerServer*>(server),
- GetPropertyHelper::callServerReceiver, helper);
+ GetPropertyHelper::serverGetQByteArrayPropertyCB, helper);
+}
+
+void Listener::getServerCount(
+ QIndicate::Listener::Server* server,
+ QObject* receiver,
+ const char* slot)
+{
+ GetPropertyHelper* helper = new GetPropertyHelper(receiver, slot);
+
+ indicate_listener_server_get_count(d->mGListener,
+ reinterpret_cast<IndicateListenerServer*>(server),
+ GetPropertyHelper::serverGetUIntPropertyCB, helper);
}
void Listener::display(
=== modified file 'src/qindicatelistener.h'
--- src/qindicatelistener.h 2009-09-14 07:34:48 +0000
+++ src/qindicatelistener.h 2009-09-14 09:27:22 +0000
@@ -80,6 +80,16 @@
void getServerType(QIndicate::Listener::Server* server,
QObject* receiver, const char* slot);
+ /**
+ * Ask a server for its count. Result will be sent to receiver slot, which
+ * should have the following signature:
+ *
+ * QIndicate::Listener::Server*,
+ * int value
+ */
+ void getServerCount(QIndicate::Listener::Server* server,
+ QObject* receiver, const char* slot);
+
void display(QIndicate::Listener::Server* server, QIndicate::Listener::Indicator* indicator);
bool getInterest(QIndicate::Listener::Server*, QIndicate::Interest);
=== modified file 'src/qindicateserver.cpp'
--- src/qindicateserver.cpp 2009-09-11 14:29:05 +0000
+++ src/qindicateserver.cpp 2009-09-14 09:27:22 +0000
@@ -146,6 +146,12 @@
indicate_server_set_desktop_file(d->mGServer, desktopFile.toUtf8().data());
}
+void Server::setCount(int count)
+{
+ qDebug() << "FIXME: Waiting for indicate_server_set_count to be implemented in libindicate";
+ //indicate_server_set_count(d->mGServer, count);
+}
+
void Server::show()
{
indicate_server_show(d->mGServer);
=== modified file 'src/qindicateserver.h'
--- src/qindicateserver.h 2009-09-11 14:29:05 +0000
+++ src/qindicateserver.h 2009-09-14 09:27:22 +0000
@@ -30,6 +30,7 @@
void setType(const QString&);
void setDesktopFile(const QString&);
+ void setCount(int);
/**
* Show server on DBus
=== modified file 'tests/communicationtest.cpp'
--- tests/communicationtest.cpp 2009-09-14 07:34:48 +0000
+++ tests/communicationtest.cpp 2009-09-14 09:27:22 +0000
@@ -130,7 +130,7 @@
QCOMPARE(receiver.server, mListenerServer);
QCOMPARE(receiver.indicator, mListenerIndicator);
QCOMPARE(receiver.key, key1);
- QCOMPARE(QIndicate::Listener::stringFromValue(receiver.value), v1);
+ QCOMPARE(QIndicate::Listener::stringFromValue(receiver.value.toByteArray()), v1);
// key2
mListener->getIndicatorProperty(mListenerServer, mListenerIndicator, key2,
@@ -146,7 +146,7 @@
QCOMPARE(receiver.server, mListenerServer);
QCOMPARE(receiver.indicator, mListenerIndicator);
QCOMPARE(receiver.key, key2);
- QCOMPARE(QIndicate::Listener::imageFromValue(receiver.value), v2);
+ QCOMPARE(QIndicate::Listener::imageFromValue(receiver.value.toByteArray()), v2);
// key3
mListener->getIndicatorProperty(mListenerServer, mListenerIndicator, key3,
@@ -162,7 +162,7 @@
QCOMPARE(receiver.server, mListenerServer);
QCOMPARE(receiver.indicator, mListenerIndicator);
QCOMPARE(receiver.key, key3);
- QCOMPARE(QIndicate::Listener::dateTimeFromValue(receiver.value), v3);
+ QCOMPARE(QIndicate::Listener::dateTimeFromValue(receiver.value.toByteArray()), v3);
}
void CommunicationTest::testGetServerDesktop()
@@ -178,14 +178,14 @@
mListener->getServerDesktopFile(mListenerServer,
&receiver,
- SLOT(slotServerPropertyReceived(
+ SLOT(slotServerQByteArrayPropertyReceived(
QIndicate::Listener::Server*,
const QByteArray&))
);
QTest::qWait(500);
QCOMPARE(receiver.server, mListenerServer);
- QCOMPARE(QIndicate::Listener::stringFromValue(receiver.value), value);
+ QCOMPARE(QIndicate::Listener::stringFromValue(receiver.value.toByteArray()), value);
}
void CommunicationTest::testGetServerType()
@@ -196,14 +196,38 @@
mListener->getServerType(mListenerServer,
&receiver,
- SLOT(slotServerPropertyReceived(
+ SLOT(slotServerQByteArrayPropertyReceived(
QIndicate::Listener::Server*,
const QByteArray&))
);
QTest::qWait(500);
QCOMPARE(receiver.server, mListenerServer);
- QCOMPARE(QIndicate::Listener::stringFromValue(receiver.value), SERVER_TYPE);
+ QCOMPARE(QIndicate::Listener::stringFromValue(receiver.value.toByteArray()), SERVER_TYPE);
+}
+
+void CommunicationTest::testGetServerCount()
+{
+ showIndicatorAndGetProxies();
+ QSKIP("FIXME: This test won't pass until indicate_server_set_count() is implemented", SkipAll);
+
+ PropertyReceiver receiver;
+
+ int count = 12;
+
+ mServer->setCount(count);
+ QTest::qWait(500);
+
+ mListener->getServerCount(mListenerServer,
+ &receiver,
+ SLOT(slotServerIntPropertyReceived(
+ QIndicate::Listener::Server*,
+ int))
+ );
+ QTest::qWait(500);
+
+ QCOMPARE(receiver.server, mListenerServer);
+ QCOMPARE(receiver.value.toInt(), count);
}
void CommunicationTest::testDisplay()
=== modified file 'tests/communicationtest.h'
--- tests/communicationtest.h 2009-09-11 14:29:05 +0000
+++ tests/communicationtest.h 2009-09-14 09:27:22 +0000
@@ -13,6 +13,7 @@
// Qt
#include <QObject>
+#include <QVariant>
// Local
#include <qindicateindicator.h>
@@ -31,7 +32,7 @@
QIndicate::Listener::Server* server;
QIndicate::Listener::Indicator* indicator;
QString key;
- QByteArray value;
+ QVariant value;
public Q_SLOTS:
void slotIndicatorPropertyReceived(
@@ -46,13 +47,21 @@
value = _value;
}
- void slotServerPropertyReceived(
+ void slotServerQByteArrayPropertyReceived(
QIndicate::Listener::Server* _server,
const QByteArray& _value)
{
server = _server;
value = _value;
}
+
+ void slotServerIntPropertyReceived(
+ QIndicate::Listener::Server* _server,
+ int _value)
+ {
+ server = _server;
+ value = _value;
+ }
};
/**
@@ -68,6 +77,7 @@
void testIndicatorModified();
void testGetServerDesktop();
void testGetServerType();
+ void testGetServerCount();
void testGetIndicatorProperty();
void testDisplay();
void testInterest();