File indexing completed on 2024-04-28 04:32:01

0001 /*
0002  * Copyright (C) 2010-2015 by Stephen Allewell
0003  * steve.allewell@gmail.com
0004  *
0005  * This program is free software; you can redistribute it and/or modify
0006  * it under the terms of the GNU General Public License as published by
0007  * the Free Software Foundation; either version 2 of the License, or
0008  * (at your option) any later version.
0009  */
0010 
0011 #include "Layer.h"
0012 
0013 Layer::Layer()
0014 {
0015 }
0016 
0017 Layer::Layer(int number, const QString &name)
0018     : m_number(number)
0019     , m_name(name)
0020 {
0021 }
0022 
0023 int Layer::number() const
0024 {
0025     return m_number;
0026 }
0027 
0028 const QString &Layer::name() const
0029 {
0030     return m_name;
0031 }
0032 
0033 void Layer::setNumber(int number)
0034 {
0035     m_number = number;
0036 }
0037 
0038 void Layer::setName(const QString &name)
0039 {
0040     m_name = name;
0041 }
0042 
0043 QDataStream &operator<<(QDataStream &stream, const Layer &layer)
0044 {
0045     stream << qint32(layer.version);
0046     stream << qint32(layer.m_number);
0047     stream << layer.m_name;
0048 
0049     return stream;
0050 }
0051 
0052 QDataStream &operator>>(QDataStream &stream, Layer &layer)
0053 {
0054     qint32 version;
0055     qint32 number;
0056 
0057     stream >> version;
0058 
0059     switch (version) {
0060     case 100:
0061         stream >> number;
0062         layer.m_number = number;
0063         stream >> layer.m_name;
0064         break;
0065 
0066     default:
0067         // not supported
0068         // throw exception
0069         break;
0070     }
0071 
0072     return stream;
0073 }