Fix layout
[kdeaccessibility.git] / ksayit / KTTSD_Lib / kttsdlibtalker2.cpp
blob5f34b8ad792d1d95bff16209946bda87c7e30ad7
1 //
2 // C++ Implementation: kttsdlibtalker2
3 //
4 // Description:
5 //
6 //
7 // Author: Robert Vogl <voglrobe@lapislazuli>, (C) 2004
8 //
9 // Copyright: See COPYING file that comes with this distribution
13 #include <unistd.h> //sleep
15 // Qt includes
16 #include <QtDBus/QtDBus>
18 // KDE includes
19 #include <kdebug.h>
21 // App specific includes
22 #include "kttsdlibtalker2.h"
23 #include <ktoolinvocation.h>
25 kttsdlibtalker2::kttsdlibtalker2(QObject *parent, const char *name)
26 : QObject(parent)
28 setObjectName(name);
32 kttsdlibtalker2::~kttsdlibtalker2()
37 void kttsdlibtalker2::KTTSD_init(KApplication *Appl)
39 Q_UNUSED(Appl);
40 kDebug(100200) << "kttsdlibtalker2::KTTSD_init()";
42 bool kttsdRunning = (QDBus::sessionBus().busService()->nameHasOwner("org.kde.kttsd"));
43 if (!kttsdRunning)
45 // kDebug() << "KCMKttsMgr::slotEnableKttsd_toggled:: Starting KTTSD";
46 QString error;
47 if (KToolInvocation::startServiceByDesktopName("kttsd", QStringList(), &error))
48 // throw(error);
49 kDebug() << "Starting KTTSD failed with message " << error;
51 m_kspeech = (org::kde::KSpeech*)(QDBus::sessionBus().findInterface<org::kde::KSpeech>("org.kde.kttsd", "/org/kde/KSpeech"));
52 m_kspeech->setParent(this);
53 // Connect KTTSD DBUS signals to our slots.
54 connect(m_kspeech, SIGNAL(textStarted(const QString&, uint)),
55 this, SLOT(textStarted(const QString&, uint)));
56 connect(m_kspeech, SIGNAL(textFinished(const QString&, uint)),
57 this, SLOT(textFinished(const QString&, uint)));
58 connect(m_kspeech, SIGNAL(textStopped(const QString&, uint)),
59 this, SLOT(textStopped(const QString&, uint)));
60 m_appId = QDBus::sessionBus().baseService();
62 kDebug(100200) << " successfully registered. appId: " << m_appId;
66 uint kttsdlibtalker2::KTTSD_setText(const QString &text, QString lang)
68 kDebug(100200) << "kttsdlibtalker2::KTTSD_setText()";
69 uint jobNum = m_kspeech->setText(text, lang);
70 return jobNum;
74 void kttsdlibtalker2::KTTSD_startText(uint jobNum)
76 kDebug(100200) << "kttsdlibtalker2::KTTSD_startText()";
77 m_kspeech->startText(jobNum);
81 void kttsdlibtalker2::KTTSD_stopText(uint jobNum)
83 kDebug(100200) << "kttsdlibtalker2::KTTSD_stopText()";
84 m_kspeech->stopText(jobNum);
88 void kttsdlibtalker2::KTTSD_pauseText(uint jobNum)
90 kDebug(100200) << "kttsdlibtalker2::KTTSD_pauseText()";
91 m_kspeech->pauseText(jobNum);
95 void kttsdlibtalker2::KTTSD_resumeText(uint jobNum)
97 kDebug(100200) << "kttsdlibtalker2::KTTSD_resumeText()";
98 m_kspeech->resumeText(jobNum);
102 uint kttsdlibtalker2::KTTSD_moveRelTextSentence(const int n, const uint jobNum)
104 kDebug(100200) << "kttsdlibtalker2::KTTSD_moveRelTextSentence()";
105 uint seqNum = m_kspeech->moveRelTextSentence(n, jobNum);
106 return seqNum;
110 void kttsdlibtalker2::KTTSD_removeText(uint jobNum)
112 kDebug(100200) << "kttsdlibtalker2::KTTSD_removeText()";
113 m_kspeech->removeText(jobNum);
117 int kttsdlibtalker2::KTTSD_getTextJobState(uint jobNum)
119 Q_UNUSED(jobNum);
120 return 0;
124 int kttsdlibtalker2::KTTSD_getCurrentTextJob()
127 return 0;
132 ////////////////////////////////////////////
133 // DCOP signals
134 ////////////////////////////////////////////
136 Q_ASYNC void kttsdlibtalker2::textStarted(const QString &appID,
137 const uint jobNum)
139 kDebug(100200) << "*** kttsdlibtalker2::textStarted()";
140 if ( appID != m_appId )
141 return;
142 emit signalTextStarted(jobNum);
146 Q_ASYNC void kttsdlibtalker2::textFinished(const QString &appID,
147 const uint jobNum)
149 kDebug(100200) << "*** kttsdlibtalker2::textFinished()";
150 if ( appID != m_appId )
151 return;
152 emit signalTextFinished(jobNum);
156 Q_ASYNC void kttsdlibtalker2::textStopped(const QString &appID,
157 const uint jobNum)
159 kDebug(100200) << "*** kttsdlibtalker2::textStopped()";
160 if ( appID != m_appId )
161 return;
162 emit signalTextStopped(jobNum);
165 #include "kttsdlibtalker2.moc"