aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
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
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')
-rw-r--r--src/modules/objects/CMakeLists.txt2
-rw-r--r--src/modules/objects/class_memorybuffer.cpp116
-rw-r--r--src/modules/objects/class_memorybuffer.h53
3 files changed, 171 insertions, 0 deletions
diff --git a/src/modules/objects/CMakeLists.txt b/src/modules/objects/CMakeLists.txt
index 51baafb1e..1e84ce7bd 100644
--- a/src/modules/objects/CMakeLists.txt
+++ b/src/modules/objects/CMakeLists.txt
@@ -16,6 +16,7 @@ SET(kviobjects_MOC_HDRS
class_http.h
class_lineedit.h
class_listwidget.h
+ class_memorybuffer.h
class_multilineedit.h
class_painter.h
class_pixmap.h
@@ -58,6 +59,7 @@ SET(kviobjects_SRCS
class_list.cpp
class_listwidget.cpp
class_mainwindow.cpp
+ class_memorybuffer.cpp
class_menubar.cpp
class_multilineedit.cpp
class_painter.cpp
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*/
+
diff --git a/src/modules/objects/class_memorybuffer.h b/src/modules/objects/class_memorybuffer.h
new file mode 100644
index 000000000..91efd5b95
--- /dev/null
+++ b/src/modules/objects/class_memorybuffer.h
@@ -0,0 +1,53 @@
+#ifndef _CLASS_MEMORYBUFFER_H_
+#define _CLASS_MEMORYBUFFER_H_
+//=============================================================================
+//
+// File : class_memorybuffer.h
+// 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 <QByteArray>
+
+#include "object_macros.h"
+
+
+
+class KviKvsObject_memorybuffer : public KviKvsObject
+{
+public:
+ KVSO_DECLARE_OBJECT(KviKvsObject_memorybuffer)
+protected:
+ QByteArray * m_pBuffer;
+public:
+ QByteArray dataBuffer()
+ {
+ return *m_pBuffer;
+ };
+ QByteArray *pBuffer()
+ {
+ return m_pBuffer;
+ };
+ bool loadFromFile(KviKvsObjectFunctionCall *c);
+ bool saveToFile(KviKvsObjectFunctionCall *c);
+};
+
+#endif // !_CLASS_MEMORYBUFFER_H_