bool EODroid::Connect()
{
if (!eoclient.Connect(config.entries["Server"], util::to_int(config.entries["Port"])))
{
printf("%s:%i\n", std::string(IPAddress::Lookup(config.entries["Server"])).c_str(), util::to_int((config.entries["Port"])));
puts("Could not connect.");
return false;
}
InitReply init_reply = eoclient.Init(1288111350, util::to_int(config.entries["Version"]));
switch (init_reply)
{
case INIT_OK: printf("Initialization complete\n"); break;
case INIT_OUT_OF_DATE: printf("Initialization failed: Wrong version\n"); return false;
case INIT_BANNED: printf("Initialization failed: You are banned\n"); return false;
case 0: return false;
default: printf("Initialization failed: Unknown error code (%i)", static_cast<int>(init_reply)); return false;
}
eoclient.state = EOClient::Initialized;
return true;
}