summaryrefslogtreecommitdiffstats
path: root/pacman-c++/util.h
blob: 5ea2953a92283a40e5d5c3440404dc166f8ae7d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef UTIL_H
#define UTIL_H

#include "constants.h"
#include "actor.h"
#include "pacman.pb.h"

class QTcpSocket;

namespace Util
{
  Transmission::map_t createUninitialisedMap();
  Transmission::map_t createDemoMap();
  void placeActors(Transmission::map_t map, unsigned int players, const Color::Color *colors);
  void makePoints(Transmission::map_t map);
  Transmission::map_t createEmptyMap();
  void deleteMap(Transmission::map_t map);

  Transmission::field_t actorMovementToTransmission(Actor::Movement mov,
     Transmission::field_t def = Transmission::none);
  Actor::Movement transmissionMovementToActor(Transmission::field_t field,
     Actor::Movement def = Actor::None);

  /* send packet with error check and flush */
  QSharedPointer<QByteArray> createPacket(const ::google::protobuf::MessageLite& packet);
  bool sendPacket(QByteArray *data, QTcpSocket *socket);
  bool sendPacket(const ::google::protobuf::MessageLite& packet, QTcpSocket *socket);
  QSharedPointer<QByteArray> receivePacket(QTcpSocket *socket);

#if 0
  void hexdump(void *pAddressIn, long  lSize);
#endif
}
#endif // UTIL_H