diff options
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/objects/class_file.cpp | 12 | ||||
| -rw-r--r-- | src/modules/objects/class_file.h | 1 |
2 files changed, 13 insertions, 0 deletions
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); |
