/*
Action Factory
Copyright (C) 2019 AleaJactaEst
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
#ifndef ACTION_FACTORY_H
#define ACTION_FACTORY_H
#include "core/object.h"
#include "modules/networkconnection/network_data.h"
// 1840 bits= 230*8
#define MAX_IMPULSE_BIT_SIZE 1840
class ActionFactory
{
public:
static void decode_message(NetworkData * data, Ref msgin);
static void encode_message(Dictionary value, Ref msgout);
static void code(int code, Ref msgout);
static void pack(NetworkData * data);
static void unpack(NetworkData * data, Ref msgin);
static void decode(NetworkData * data, Ref msgin);
static void clear_old_block(NetworkData * data);
static void clear_all_block(NetworkData * data);
};
#endif