~ubuntu-branches/ubuntu/trusty/kvirc/trusty-proposed

« back to all changes in this revision

Viewing changes to src/kvirc/kvs/tree/KviKvsTreeNodeHashReferenceAssert.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Kai Wasserbäch, Kai Wasserbäch, Raúl Sánchez Siles
  • Date: 2011-02-12 10:40:21 UTC
  • mfrom: (14.1.3 sid)
  • Revision ID: james.westby@ubuntu.com-20110212104021-5mh4f75jlku20mnt
The combined "Twisted Experiment" and "Nocturnal Raid" release.

[ Kai Wasserbäch ]
* Synced to upstream's SVN revision 5467.
* debian/rules:
  - Added .PHONY line.
  - Resurrect -DMANUAL_REVISION, got lost somewhere and we build SVN
    revisions again.
  - Replace "-DWITH_NO_EMBEDDED_CODE=YES" with "-DWANT_CRYPTOPP=YES".
  - Change the remaining -DWITH/-DWITHOUT to the new -DWANT syntax.
* debian/control:
  - Removed DMUA, I'm a DD now.
  - Changed my e-mail address.
  - Removed unneeded relationships (no upgrades over two releases are
    supported).
  - Fix Suggests for kvirc-dbg.
  - kvirc-data: Make the "Suggests: kvirc" a Recommends, doesn't make much
    sense to install the -data package without the program.
* debian/source/local-options: Added with "unapply-patches".
* debian/kvirc.lintian-overrides: Updated to work for 4.1.1.
* debian/patches/21_make_shared-mime-info_B-D_superfluous.patch: Updated.
* debian/kvirc-data.install: Added .notifyrc.

[ Raúl Sánchez Siles ]
* Stating the right version where kvirc-data break and replace should happen.
* Fixing link to license file.
* Added French and Portuguese man pages.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//=============================================================================
 
2
//
 
3
//   File : KviKvsTreeNodeHashReferenceAssert.cpp
 
4
//   Creation date : Thu 16 Oct 2003 23:43:06 by Szymon Stefanek
 
5
//
 
6
//   This file is part of the KVIrc IRC client distribution
 
7
//   Copyright (C) 2003-2010 Szymon Stefanek <pragma at kvirc dot net>
 
8
//
 
9
//   This program is FREE software. You can redistribute it and/or
 
10
//   modify it under the terms of the GNU General Public License
 
11
//   as published by the Free Software Foundation; either version 2
 
12
//   of the License, or (at your opinion) any later version.
 
13
//
 
14
//   This program is distributed in the HOPE that it will be USEFUL,
 
15
//   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
16
//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
17
//   See the GNU General Public License for more details.
 
18
//
 
19
//   You should have received a copy of the GNU General Public License
 
20
//   along with this program. If not, write to the Free Software Foundation,
 
21
//   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
22
//
 
23
//=============================================================================
 
24
 
 
25
#include "KviKvsTreeNodeHashReferenceAssert.h"
 
26
#include "KviKvsRWEvaluationResult.h"
 
27
#include "KviKvsRunTimeContext.h"
 
28
#include "KviKvsVariant.h"
 
29
#include "KviLocale.h"
 
30
 
 
31
KviKvsTreeNodeHashReferenceAssert::KviKvsTreeNodeHashReferenceAssert(const QChar * pLocation,KviKvsTreeNodeData * pSource)
 
32
: KviKvsTreeNodeIndirectData(pLocation,pSource)
 
33
{
 
34
}
 
35
 
 
36
KviKvsTreeNodeHashReferenceAssert::~KviKvsTreeNodeHashReferenceAssert()
 
37
{
 
38
}
 
39
 
 
40
bool KviKvsTreeNodeHashReferenceAssert::isReadOnly()
 
41
{
 
42
        return m_pSource->isReadOnly();
 
43
}
 
44
 
 
45
void KviKvsTreeNodeHashReferenceAssert::contextDescription(QString &szBuffer)
 
46
{
 
47
        szBuffer = "Hash Reference Assert";
 
48
}
 
49
 
 
50
void KviKvsTreeNodeHashReferenceAssert::dump(const char * prefix)
 
51
{
 
52
        qDebug("%s HashReferenceAssert",prefix);
 
53
}
 
54
 
 
55
bool KviKvsTreeNodeHashReferenceAssert::evaluateReadOnlyInObjectScope(KviKvsObject *o,KviKvsRunTimeContext * c,KviKvsVariant * pBuffer)
 
56
{
 
57
        if(o)
 
58
        {
 
59
                if(!m_pSource->evaluateReadOnlyInObjectScope(o,c,pBuffer))return false;
 
60
        } else {
 
61
                if(!m_pSource->evaluateReadOnly(c,pBuffer))return false;
 
62
        }
 
63
 
 
64
        if(!pBuffer->isHash())
 
65
        {
 
66
                if(!pBuffer->isNothing())
 
67
                {
 
68
                        QString szType;
 
69
                        pBuffer->getTypeName(szType);
 
70
                        c->error(this,__tr2qs_ctx("Hash reference assert failed: the variable evaluated to type '%Q'","kvs"),&szType);
 
71
                        return false;
 
72
                }
 
73
        }
 
74
        return true;
 
75
}
 
76
 
 
77
KviKvsRWEvaluationResult * KviKvsTreeNodeHashReferenceAssert::evaluateReadWriteInObjectScope(KviKvsObject *o,KviKvsRunTimeContext * c)
 
78
{
 
79
        KviKvsRWEvaluationResult * r;
 
80
        if(o)r = m_pSource->evaluateReadWriteInObjectScope(o,c);
 
81
        else r = m_pSource->evaluateReadWrite(c);
 
82
        if(!r)return false;
 
83
 
 
84
        return r;
 
85
}
 
86
 
 
87
bool KviKvsTreeNodeHashReferenceAssert::evaluateReadOnly(KviKvsRunTimeContext * c,KviKvsVariant * pBuffer)
 
88
{
 
89
        return evaluateReadOnlyInObjectScope(0,c,pBuffer);
 
90
}
 
91
 
 
92
KviKvsRWEvaluationResult * KviKvsTreeNodeHashReferenceAssert::evaluateReadWrite(KviKvsRunTimeContext * c)
 
93
{
 
94
        return evaluateReadWriteInObjectScope(0,c);
 
95
}