aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/objects/class_memorybuffer.cpp
diff options
context:
space:
mode:
authorGravatar Noldor2008-10-11 07:18:47 +0000
committerGravatar Noldor2008-10-11 07:18:47 +0000
commitf75be01f763476cf9f7a0046900d2f81e20ec61f (patch)
tree651368690cd97b251a50510f3ecc7a99f8aa295c /src/modules/objects/class_memorybuffer.cpp
parentexcluded Noldor's breaking code: FIX IT\! (diff)
downloadKVIrc-f75be01f763476cf9f7a0046900d2f81e20ec61f.tar.gz
KVIrc-f75be01f763476cf9f7a0046900d2f81e20ec61f.tar.bz2
KVIrc-f75be01f763476cf9f7a0046900d2f81e20ec61f.zip
fixed missing files.
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2695 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/objects/class_memorybuffer.cpp')
-rw-r--r--src/modules/objects/class_memorybuffer.cpp116
1 files changed, 116 insertions, 0 deletions
diff --git a/src/modules/objects/class_memorybuffer.cpp b/src/modules/objects/class_memorybuffer.cpp
new file mode 100644
index 000000000..f05632546
--- /dev/null
+++ b/src/modules/objects/class_memorybuffer.cpp
@@ -0,0 +1,116 @@
+//=============================================================================
+//
+// File : class_memorybuffer.cpp
+// Creation date : Fri Mar 18 21:30:48 CEST 2005
+// by Tonino Imbesi(Grifisx) and Alessandro Carbone(Noldor)
+//
+// This file is part of the KVirc irc client distribution
+// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com)
+//
+// This program is FREE software. You can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your opinion) any later version.
+//
+// This program is distributed in the HOPE that it will be USEFUL,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+// See the GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, write to the Free Software Foundation,
+// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+//=============================================================================
+
+#include "class_memorybuffer.h"
+#include "kvi_error.h"
+#include "kvi_debug.h"
+#include "kvi_settings.h"
+#include "kvi_locale.h"
+#include "kvi_process.h"
+#include "kvi_fileutils.h"
+#include "kvi_file.h"
+#include <QFileInfo>
+
+/*
+ @doc: memorybuffer
+ @keyterms:
+ object class
+ @title:
+ memorybuffer class
+ @type:
+ class
+ @short:
+ A class container to manage binary data.
+ @inherits:
+ [class]object[/class]
+ @description:
+ The memorybuffer class is used to storage binary data[br]
+ @functions:
+ !fn: $loadFromFile(<file_name:string>)
+ Load into memorybuffer the <file_name> file.
+ !fn: $saveToFile(<file_name:string>)
+ Save the memorybuffer to <file_name> file.
+
+*/
+
+KVSO_BEGIN_REGISTERCLASS(KviKvsObject_memorybuffer,"memorybuffer","object")
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_memorybuffer,loadFromFile);
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_memorybuffer,saveToFile);
+KVSO_END_REGISTERCLASS(KviKvsObject_memorybuffer)
+
+
+KVSO_BEGIN_CONSTRUCTOR(KviKvsObject_memorybuffer,KviKvsObject)
+
+ m_pBuffer = new QByteArray();
+
+KVSO_END_CONSTRUCTOR(KviKvsObject_memorybuffer)
+
+KVSO_BEGIN_DESTRUCTOR(KviKvsObject_memorybuffer)
+
+ delete m_pBuffer;
+
+KVSO_END_CONSTRUCTOR(KviKvsObject_memorybuffer)
+
+KVSO_CLASS_FUNCTION(memorybuffer,loadFromFile)
+{
+ CHECK_INTERNAL_QPOINTER(m_pBuffer)
+ QString szFileName;
+ KVSO_PARAMETERS_BEGIN(c)
+ KVSO_PARAMETER("filename",KVS_PT_NONEMPTYSTRING,0,szFileName)
+ KVSO_PARAMETERS_END(c)
+ if(KviFileUtils::fileExists(szFileName))
+ {
+ KviFile f(szFileName);
+ f.open(QIODevice::ReadOnly);
+ f.load(*m_pBuffer);
+ f.close();
+ }
+ else c->warning(__tr2qs("The file '%Q' does not exists"),&szFileName);
+ return true;
+}
+KVSO_CLASS_FUNCTION(memorybuffer,saveToFile)
+{
+ CHECK_INTERNAL_QPOINTER(m_pBuffer)
+ QString szFileName;
+ KVSO_PARAMETERS_BEGIN(c)
+ KVSO_PARAMETER("filename",KVS_PT_NONEMPTYSTRING,0,szFileName)
+ KVSO_PARAMETERS_END(c)
+ KviFile f(szFileName);
+ if (f.open(QIODevice::WriteOnly))
+ {
+ f.write(*m_pBuffer);
+ f.close();
+ }
+ else
+ {
+ c->warning(__tr2qs("Cannot open file '%Q' for writing"),&szFileName);
+ }
+ return true;
+}
+/*
+#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES
+#include "m_class_memorybuffer.moc"
+#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES*/
+