From 63e81d881eef151d0694a92ab22655e28f1f920d Mon Sep 17 00:00:00 2001 From: Noldor Date: Wed, 8 Sep 2010 05:09:21 +0000 Subject: Kvs improvements git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4991 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/objects/class_file.cpp | 12 ++++++++++++ src/modules/objects/class_file.h | 1 + 2 files changed, 13 insertions(+) (limited to 'src/modules/objects') diff --git a/src/modules/objects/class_file.cpp b/src/modules/objects/class_file.cpp index acc9a00fe..8cc190af3 100644 --- a/src/modules/objects/class_file.cpp +++ b/src/modules/objects/class_file.cpp @@ -169,6 +169,7 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_file,"file","object") KVSO_REGISTER_HANDLER(KviKvsObject_file,"putch",putch) KVSO_REGISTER_HANDLER(KviKvsObject_file,"getch",getch) KVSO_REGISTER_HANDLER(KviKvsObject_file,"ungetch",unGetch) + KVSO_REGISTER_HANDLER(KviKvsObject_file,"readByte",readByte) KVSO_REGISTER_HANDLER(KviKvsObject_file,"readBlock",readBlock) KVSO_REGISTER_HANDLER(KviKvsObject_file,"writeBlock", writeBlock) @@ -349,6 +350,17 @@ KVSO_CLASS_FUNCTION(file,getch) return true; } +KVSO_CLASS_FUNCTION(file,readByte) +{ + CHECK_INTERNAL_POINTER(m_pFile) + CHECK_FILE_IS_OPEN + char ch; + if (!m_pFile->getChar(&ch)) c->warning(__tr2qs_ctx("Read error occured!","objects")); // c->error ? + //QString szChar = QChar(ch); + c->returnValue()->setInteger((kvs_int_t) ch); + return true; +} + KVSO_CLASS_FUNCTION(file,unGetch) { CHECK_INTERNAL_POINTER(m_pFile) diff --git a/src/modules/objects/class_file.h b/src/modules/objects/class_file.h index f708440b7..040653c8f 100644 --- a/src/modules/objects/class_file.h +++ b/src/modules/objects/class_file.h @@ -55,6 +55,7 @@ public: bool seek(KviKvsObjectFunctionCall *c); bool putch(KviKvsObjectFunctionCall *c); bool getch(KviKvsObjectFunctionCall *c); + bool readByte(KviKvsObjectFunctionCall *c); bool unGetch(KviKvsObjectFunctionCall *c); bool readBlock(KviKvsObjectFunctionCall *c); -- cgit v1.3.1-10-gc9f91