Removed Deserializer class.

git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1848 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2009-08-04 18:29:30 +00:00
parent d5bf1494da
commit 85dcb63483
2 changed files with 0 additions and 219 deletions

View File

@ -1,109 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2009 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id$
//============================================================================
#include "Deserializer.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Deserializer::Deserializer(void)
{
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Deserializer::~Deserializer(void)
{
close();
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool Deserializer::open(const string& fileName)
{
close();
myStream.open(fileName.c_str(), ios::in | ios::binary);
return isOpen();
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Deserializer::close(void)
{
myStream.close();
myStream.clear();
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool Deserializer::isOpen(void)
{
return myStream.is_open();
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
char Deserializer::getByte(void)
{
if(myStream.eof())
throw "Deserializer: end of file";
char buf[1];
myStream.read(buf, 1);
return buf[0];
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int Deserializer::getInt(void)
{
if(myStream.eof())
throw "Deserializer: end of file";
int val = 0;
unsigned char buf[4];
myStream.read((char*)buf, 4);
for(int i = 0; i < 4; ++i)
val += (int)(buf[i]) << (i<<3);
return val;
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
string Deserializer::getString(void)
{
int len = getInt();
string str;
str.resize((string::size_type)len);
myStream.read(&str[0], (streamsize)len);
if(myStream.bad())
throw "Deserializer: file read failed";
return str;
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool Deserializer::getBool(void)
{
bool result = false;
char b = getByte();
if(b == (char)TruePattern)
result = true;
else if(b == (char)FalsePattern)
result = false;
else
throw "Deserializer: data corruption";
return result;
}

View File

@ -1,110 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2009 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id$
//============================================================================
#ifndef DESERIALIZER_HXX
#define DESERIALIZER_HXX
#include <fstream>
#include "bspf.hxx"
/**
This class implements a Deserializer device, whereby data is
deserialized from an input binary file in a system-independent
way.
All bytes and ints should be cast to their appropriate data type upon
method return.
@author Stephen Anthony
@version $Id$
*/
class Deserializer
{
public:
/**
Creates a new Deserializer device.
Open must be called with a valid file before this Deserializer can
be used.
*/
Deserializer(void);
/**
Destructor
*/
virtual ~Deserializer(void);
public:
/**
Opens the given file for input. Multiple calls to this method
will close previously opened files.
@param fileName The filename to get the deserialized data from.
@return Result of opening the file. True on success, false on failure
*/
bool open(const string& fileName);
/**
Closes the current input stream.
*/
void close(void);
/**
Answers whether the deserializer is currently opened
*/
bool isOpen(void);
/**
Reads a byte value (8-bit) from the current input stream.
@result The char value which has been read from the stream.
*/
char getByte(void);
/**
Reads an int value (32-bit) from the current input stream.
@result The int value which has been read from the stream.
*/
int getInt(void);
/**
Reads a string from the current input stream.
@result The string which has been read from the stream.
*/
string getString(void);
/**
Reads a boolean value from the current input stream.
@result The boolean value which has been read from the stream.
*/
bool getBool(void);
private:
// The stream to get the deserialized data from.
fstream myStream;
enum {
TruePattern = 0xfe,
FalsePattern = 0x01
};
};
#endif