diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-02-27 17:35:28 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2014-02-28 11:35:30 +0100 |
commit | aea575be39ec8b179d75af087a01bb9d96d50e59 (patch) | |
tree | 87cf70f3e13ea6c10eef82833d49412038f981e1 /src/lib/corelib/language/resolvedfilecontext.cpp | |
parent | 1dd5936442cfd94aa191596f6150df293ea86e7a (diff) |
move ResolvedFileContext to separate files
Change-Id: I066ea8aa826c254de82b9591ab4b6eec23665b0d
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/lib/corelib/language/resolvedfilecontext.cpp')
-rw-r--r-- | src/lib/corelib/language/resolvedfilecontext.cpp | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/lib/corelib/language/resolvedfilecontext.cpp b/src/lib/corelib/language/resolvedfilecontext.cpp new file mode 100644 index 000000000..0ac48e69b --- /dev/null +++ b/src/lib/corelib/language/resolvedfilecontext.cpp @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Build Suite. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +#include "resolvedfilecontext.h" + +#include "jsimports.h" +#include <tools/persistence.h> + +namespace qbs { +namespace Internal { + +static inline QDataStream& operator>>(QDataStream &stream, JsImport &jsImport) +{ + stream >> jsImport.scopeName + >> jsImport.filePaths + >> jsImport.location; + return stream; +} + +static inline QDataStream& operator<<(QDataStream &stream, const JsImport &jsImport) +{ + return stream << jsImport.scopeName + << jsImport.filePaths + << jsImport.location; +} + +void ResolvedFileContext::load(PersistentPool &pool) +{ + filePath = pool.idLoadString(); + jsExtensions = pool.idLoadStringList(); + pool.stream() >> jsImports; +} + +void ResolvedFileContext::store(PersistentPool &pool) const +{ + pool.storeString(filePath); + pool.storeStringList(jsExtensions); + pool.stream() << jsImports; +} + +bool operator==(const ResolvedFileContext &a, const ResolvedFileContext &b) +{ + if (&a == &b) + return true; + if (!!&a != !!&b) + return false; + return a.filePath == b.filePath + && a.jsExtensions == b.jsExtensions + && a.jsImports == b.jsImports; +} + +} // namespace Internal +} // namespace qbs |