diff options
| author | 2011-06-28 22:17:26 +0000 | |
|---|---|---|
| committer | 2011-06-28 22:17:26 +0000 | |
| commit | 2ec129431e2dee46fdcdc4d67a85f79d84f0723e (patch) | |
| tree | bd5f463c4c19f2822290b68e9d63a014f39faef1 /src/modules/objects/KvsObject_memoryBuffer.cpp | |
| parent | updated sources date and changelogs (diff) | |
| download | KVIrc-2ec129431e2dee46fdcdc4d67a85f79d84f0723e.tar.gz KVIrc-2ec129431e2dee46fdcdc4d67a85f79d84f0723e.tar.bz2 KVIrc-2ec129431e2dee46fdcdc4d67a85f79d84f0723e.zip | |
Some fixes in class sql
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5884 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/objects/KvsObject_memoryBuffer.cpp')
| -rw-r--r-- | src/modules/objects/KvsObject_memoryBuffer.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/modules/objects/KvsObject_memoryBuffer.cpp b/src/modules/objects/KvsObject_memoryBuffer.cpp index 9f7e594a7..5bde1fd13 100644 --- a/src/modules/objects/KvsObject_memoryBuffer.cpp +++ b/src/modules/objects/KvsObject_memoryBuffer.cpp @@ -63,11 +63,14 @@ KVSO_BEGIN_REGISTERCLASS(KvsObject_memoryBuffer,"memorybuffer","object") KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer,loadFromFile); KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer,clear); KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer,saveToFile); + KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer,size); + KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer,readByteAt); KVSO_END_REGISTERCLASS(KvsObject_memoryBuffer) KVSO_BEGIN_CONSTRUCTOR(KvsObject_memoryBuffer,KviKvsObject) + mIdx=0; m_pBuffer = new QByteArray(); KVSO_END_CONSTRUCTOR(KvsObject_memoryBuffer) @@ -109,6 +112,29 @@ KVSO_CLASS_FUNCTION(memoryBuffer,loadFromFile) else c->warning(__tr2qs_ctx("The file '%Q' does not exist","objects"),&szFileName); return true; } +KVSO_CLASS_FUNCTION(memoryBuffer,size) +{ + CHECK_INTERNAL_POINTER(m_pBuffer) + c->returnValue()->setInteger((kvs_int_t)m_pBuffer->size()); + return true; +} + +KVSO_CLASS_FUNCTION(memoryBuffer,readByteAt) +{ + CHECK_INTERNAL_POINTER(m_pBuffer) + kvs_int_t iIdx; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("index",KVS_PT_INT,0,iIdx) + KVSO_PARAMETERS_END(c) + if(iIdx>m_pBuffer->size()) + { + c->warning(__tr2qs_ctx("Index '%I' out of the buffer size","objects"),&iIdx); + return true; + } + unsigned char ch = m_pBuffer->at(iIdx); + c->returnValue()->setInteger( ch); + return true; +} KVSO_CLASS_FUNCTION(memoryBuffer,saveToFile) { CHECK_INTERNAL_POINTER(m_pBuffer) |
