1 /** Aesalon, a tool to visualize program behaviour in real time.
2 Copyright (C) 2009-2011, Aesalon development team.
4 Aesalon is distributed under the terms of the GNU GPLv3. See
5 the included file LICENSE for more information.
7 @file include/marshal/Interface.h
10 #ifndef AesalonMarshal_Interface_H
11 #define AesalonMarshal_Interface_H
13 #include "comm/Packet.h"
19 virtual ~Interface() {}
21 virtual Comm::Packet
*marshal(Comm::Packet
*packet
) = 0;
24 } // namespace Marshal
26 #define InstantiateMarshal(type) \
27 extern "C" { Marshal::Interface *AM_Instantiate() { return new type(); } }