Скачиваний:
14
Добавлен:
01.05.2014
Размер:
1.37 Кб
Скачать
#include "stdafx.h"
#include "Serialization.h"
#include <vector>
namespace CHRealTimeSpace
{
using namespace std;

CSerialization::CSerialization()
{
	Points.clear();
	m_bIsFileCorrect = true;
	m_iSizeOfPoints = 0;
}

void CSerialization::Serialize(CArchive& archive)
{
	CObject::Serialize(archive);
	if (archive.IsStoring())		// записать
	{
		m_iSizeOfPoints = Points.size();
		archive << m_iSizeOfPoints;
		for (int i = 0; i < m_iSizeOfPoints; i++) 
		{
			archive << Points[i];
		}
		archive << m_bWasError;
	}
	else							// считать
	{
		try
		{
			Points.clear();
			CPoint point;
			archive >> m_iSizeOfPoints;
			for (int i = 0; i < m_iSizeOfPoints; i++)
			{
				archive >> point;
				Points.push_back(point);
			}
			archive >> m_bWasError;
		}
		catch (...)
		{
			m_bIsFileCorrect = false;
			AfxMessageBox("Ошибка загрузки файла с сохраненными данными!");
			return;
		}
	}
}

IMPLEMENT_SERIAL(CSerialization, CObject, 0);
// селекторы
bool CSerialization::WasError()
{
	return m_bWasError;
}


vector<CPoint> CSerialization::getPoints()
{
	return this->Points;
}

// модификаторы
void CSerialization::SetParams(vector<CPoint> p, int wasErr)
{
	this->Points          = p;
	this->m_bWasError     = wasErr;
}


bool CSerialization::IsFileCorrect()
{
	return m_bIsFileCorrect;
}

}
Соседние файлы в папке Source