//============================================================================= // // File : kvi_kvs_treenode_extendedscopevariable.cpp // Created on Thu 16 Oct 2003 22:41:20 by Szymon Stefanek // // This file is part of the KVIrc IRC client distribution // Copyright (C) 2003 Szymon Stefanek // // 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. ,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // //============================================================================= #define __KVIRC__ #include "kvi_kvs_treenode_extendedscopevariable.h" #include "kvi_kvs_runtimecontext.h" #include "kvi_locale.h" KviKvsTreeNodeExtendedScopeVariable::KviKvsTreeNodeExtendedScopeVariable(const TQChar * pLocation,const TQString &szIdentifier) : KviKvsTreeNodeVariable(pLocation,szIdentifier) { } KviKvsTreeNodeExtendedScopeVariable::~KviKvsTreeNodeExtendedScopeVariable() { } void KviKvsTreeNodeExtendedScopeVariable::contextDescription(TQString &szBuffer) { szBuffer = "Extended Scope Variable \""; szBuffer += m_szIdentifier; szBuffer += "\""; } void KviKvsTreeNodeExtendedScopeVariable::dump(const char * prefix) { tqDebug("%s ExtendedScopeVariable(%s)",prefix,m_szIdentifier.utf8().data()); } bool KviKvsTreeNodeExtendedScopeVariable::evaluateReadOnly(KviKvsRunTimeContext * c,KviKvsVariant * pBuffer) { if(!c->extendedScopeVariables()) { c->error(this,__tr2qs("There are no extended scope variables in this scope")); return false; } KviKvsVariant * v = c->extendedScopeVariables()->find(m_szIdentifier); if(v) { pBuffer->copyFrom(v); } else { pBuffer->setNothing(); } return true; } KviKvsRWEvaluationResult * KviKvsTreeNodeExtendedScopeVariable::evaluateReadWrite(KviKvsRunTimeContext * c) { if(!c->extendedScopeVariables()) { c->error(this,__tr2qs("There are no extended scope variables in this scope")); return 0; } return new KviKvsHashElement(0,c->extendedScopeVariables()->get(m_szIdentifier),c->extendedScopeVariables(),m_szIdentifier); }