56 lines
1.0 KiB
C++
56 lines
1.0 KiB
C++
#ifndef NETWORK_API_NETWORK_SERVER_H
|
|
#define NETWORK_API_NETWORK_SERVER_H
|
|
|
|
/////////////////////////////////////
|
|
// Created by Pontus Fransson 2013 //
|
|
/////////////////////////////////////
|
|
|
|
#ifdef CUSTOM_NET_PROTOCOL_EXPORT
|
|
#define NET_PROTOCOL_EXPORT __declspec(dllexport)
|
|
#else
|
|
#define NET_PROTOCOL_EXPORT __declspec(dllimport)
|
|
#endif
|
|
|
|
#pragma comment(lib, "ws2_32.lib")
|
|
|
|
//#include "NetworkClient.h"
|
|
|
|
namespace Oyster
|
|
{
|
|
namespace Network
|
|
{
|
|
namespace Server
|
|
{
|
|
extern "C"
|
|
{
|
|
class NET_PROTOCOL_EXPORT NetworkServer
|
|
{
|
|
public:
|
|
class NetworkClient;
|
|
struct INIT_DESC
|
|
{
|
|
unsigned short port; //Port the server should be accepting clients on.
|
|
void (*proc)(NetworkClient*);
|
|
};
|
|
|
|
NetworkServer();
|
|
virtual ~NetworkServer();
|
|
|
|
virtual bool Init(INIT_DESC& initDesc);
|
|
virtual bool Start();
|
|
virtual bool Stop();
|
|
virtual bool Shutdown();
|
|
|
|
virtual bool IsStarted() const;
|
|
|
|
private:
|
|
struct PrivateData;
|
|
PrivateData* privateData;
|
|
|
|
};
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#endif |