8
#include <qtextstream.h>
11
#include <kstandarddirs.h>
12
#include <kinstance.h>
14
#include <kdeversion.h>
20
CSharpdocProtocol::CSharpdocProtocol(const QCString &pool, const QCString &app)
21
: SlaveBase("csharpdoc", pool, app)
25
CSharpdocProtocol::~CSharpdocProtocol()
29
void CSharpdocProtocol::get(const KURL& url)
31
QStringList l = QStringList::split('/', url.path());
33
mimeType("text/html");
36
QString cmd = "csharpdoc ";
37
if (l[0] == "functions") {
40
cmd += KProcess::quote(l[1]);
41
} else if (l[0] == "faq") {
43
cmd += KProcess::quote(l[1]);
46
QCString errstr(i18n("The only existing directories are functions and faq.").local8Bit());
52
kdDebug() << "Command: " << cmd << endl;
55
data(QCString("<blockquote>"));
57
FILE *fd = popen(cmd.local8Bit().data(), "r");
62
int n = fread(buffer, 1, 2048, fd);
67
array.setRawData(buffer, n);
69
array.resetRawData(buffer, n);
75
data(QCString("</blockquote>"));
81
void CSharpdocProtocol::mimetype(const KURL &url)
83
QStringList l = QStringList::split('/', url.path());
84
mimeType((l[0] == "faq")? "text/html" : "text/plain");
89
QCString CSharpdocProtocol::errorMessage()
91
return QCString( "<html><body bgcolor=\"#FFFFFF\">" + i18n("Error in csharpdoc").local8Bit() + "</body></html>" );
95
void CSharpdocProtocol::stat(const KURL &/*url*/)
98
uds_atom.m_uds = KIO::UDS_FILE_TYPE;
99
uds_atom.m_long = S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO;
102
uds_entry.append(uds_atom);
104
statEntry(uds_entry);
109
void CSharpdocProtocol::listDir(const KURL &url)
111
error( KIO::ERR_CANNOT_ENTER_DIRECTORY, url.path() );
117
int kdemain(int argc, char **argv)
119
KInstance instance( "kio_csharpdoc" );
120
KGlobal::locale()->setMainCatalogue("kdevelop");
123
fprintf(stderr, "Usage: kio_csharpdoc protocol domain-socket1 domain-socket2\n");
127
CSharpdocProtocol slave(argv[2], argv[3]);
128
slave.dispatchLoop();