diff options
| author | 2008-10-11 07:18:47 +0000 | |
|---|---|---|
| committer | 2008-10-11 07:18:47 +0000 | |
| commit | f75be01f763476cf9f7a0046900d2f81e20ec61f (patch) | |
| tree | 651368690cd97b251a50510f3ecc7a99f8aa295c /src/modules | |
| parent | excluded Noldor's breaking code: FIX IT\! (diff) | |
| download | KVIrc-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.txt | 2 | ||||
| -rw-r--r-- | src/modules/objects/class_memorybuffer.cpp | 116 | ||||
| -rw-r--r-- | src/modules/objects/class_memorybuffer.h | 53 |
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_
|
