Skip to content

Commit

Permalink
Add dummy json (de)serializer
Browse files Browse the repository at this point in the history
  • Loading branch information
lisitsyn authored and vigsterkr committed Jul 23, 2018
1 parent d5557dc commit 5f67d35
Show file tree
Hide file tree
Showing 8 changed files with 108 additions and 1 deletion.
6 changes: 6 additions & 0 deletions src/shogun/io/serialization/Deserializer.cpp
Expand Up @@ -19,3 +19,9 @@ void CDeserializer::attach(Some<CInputStream> stream)
{
m_stream = stream;
}

Some<CInputStream> CDeserializer::stream() const
{
REQUIRE(m_stream, "Deserializer has no stream, attach() it to a stream");
return m_stream;
}
3 changes: 2 additions & 1 deletion src/shogun/io/serialization/Deserializer.h
Expand Up @@ -15,8 +15,9 @@ namespace shogun
public:
CDeserializer();
virtual ~CDeserializer();
virtual void attach(Some<CInputStream> stream) = 0;
virtual void attach(Some<CInputStream> stream);
virtual Some<CSGObject> read() = 0;
Some<CInputStream> stream() const;

private:
Some<CInputStream> m_stream;
Expand Down
21 changes: 21 additions & 0 deletions src/shogun/io/serialization/JsonDeserializer.cpp
@@ -0,0 +1,21 @@
/** This software is distributed under BSD 3-clause license (see LICENSE file).
*
* Authors: Sergey Lisitsyn
*/

#include <shogun/io/serialization/JsonDeserializer.h>

using namespace shogun;

CJsonDeserializer::CJsonDeserializer() : CDeserializer()
{
}

CJsonDeserializer::~CJsonDeserializer()
{
}

Some<CSGObject> CJsonDeserializer::read()
{
return wrap<CSGObject>(nullptr);
}
26 changes: 26 additions & 0 deletions src/shogun/io/serialization/JsonDeserializer.h
@@ -0,0 +1,26 @@
/** This software is distributed under BSD 3-clause license (see LICENSE file).
*
* Authors: Sergey Lisitsyn
*/
#ifndef __JSON_DESERIALIZER_H__
#define __JSON_DESERIALIZER_H__

#include <shogun/io/serialization/Deserializer.h>

namespace shogun
{
class CJsonDeserializer : public CDeserializer
{
public:
CJsonDeserializer();
virtual ~CJsonDeserializer();
virtual Some<CSGObject> read();

virtual const char* get_name() const
{
return "JsonDeserializer";
}
};
}

#endif
20 changes: 20 additions & 0 deletions src/shogun/io/serialization/JsonSerializer.cpp
@@ -0,0 +1,20 @@
/** This software is distributed under BSD 3-clause license (see LICENSE file).
*
* Authors: Sergey Lisitsyn
*/

#include <shogun/io/serialization/JsonSerializer.h>

using namespace shogun;

CJsonSerializer::CJsonSerializer() : CSerializer()
{
}

CJsonSerializer::~CJsonSerializer()
{
}

void CJsonSerializer::write(Some<CSGObject>)
{
}
26 changes: 26 additions & 0 deletions src/shogun/io/serialization/JsonSerializer.h
@@ -0,0 +1,26 @@
/** This software is distributed under BSD 3-clause license (see LICENSE file).
*
* Authors: Sergey Lisitsyn
*/
#ifndef __JSON_SERIALIZER_H__
#define __JSON_SERIALIZER_H__

#include <shogun/io/serialization/Serializer.h>

namespace shogun
{
class CJsonSerializer : public CSerializer
{
public:
CJsonSerializer();
virtual ~CJsonSerializer();
virtual void write(Some<CSGObject> object);

virtual const char* get_name() const
{
return "JsonSerializer";
}
};
}

#endif
6 changes: 6 additions & 0 deletions src/shogun/io/serialization/Serializer.cpp
Expand Up @@ -19,3 +19,9 @@ void CSerializer::attach(Some<COutputStream> stream)
{
m_stream = stream;
}

Some<COutputStream> CSerializer::stream() const
{
REQUIRE(m_stream, "Serializer has no stream, attach() it to a stream");
return m_stream;
}
1 change: 1 addition & 0 deletions src/shogun/io/serialization/Serializer.h
Expand Up @@ -17,6 +17,7 @@ namespace shogun
virtual ~CSerializer();
virtual void attach(Some<COutputStream> stream);
virtual void write(Some<CSGObject> object) = 0;
Some<COutputStream> stream() const;

private:
Some<COutputStream> m_stream;
Expand Down

0 comments on commit 5f67d35

Please sign in to comment.