rendered paste body#pragma once
#include <string>
#include <winsock2.h>
#include "in_socket.h"
#include <sstream>
#include <locale>
#include <algorithm>
namespace Inside
{
const int MAX_PORT = 65535;
const std::string ADDRESS_LOCAL_IP = "127.0.0.1";
enum AddressStatus
{
ADDRESS_VALID,
ADDRESS_INVALID
};
enum PredefinedAddress
{
ADDRESS_LOCAL
};
class InternetAddress
{
AddressStatus mStatus;
sockaddr_in maddress;
bool CheckAndSetIPAndPort(std::string ip_and_port);
bool CheckAndSetIP(std::string ip);
bool CheckAndSetPort(std::string port);
bool BreakUpIPAndPortString(const std::string & ip_and_port, std::string & just_the_ip, std::string & just_the_port);
bool IsStringNumber(const std::string & the_string);
public:
InternetAddress();
InternetAddress(PredefinedAddress address, int port, SocketDomain domain = ADDRESS_INTERNET);
InternetAddress(std::string ip_and_port, SocketDomain domain = ADDRESS_INTERNET);
InternetAddress(std::string ip, std::string port, SocketDomain domain = ADDRESS_INTERNET);
InternetAddress(std::string ip, int port, SocketDomain domain = ADDRESS_INTERNET);
InternetAddress(int octet_one, int octet_two, int octet_three, int octet_four, int port, SocketDomain domain = ADDRESS_INTERNET);
bool isValid();
std::string GetIP();
int GetPort();
std::string GetErrorString();
AddressStatus GetStatus();
};
} // namespace Inside
----- Build started: Project: inside_sockets, Configuration: Debug Win32 ------
Compiling...
in_socket.cpp
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(37) : error C2146: syntax error : missing ')' before identifier 'address'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(37) : error C2146: syntax error : missing ';' before identifier 'address'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(37) : error C2460: 'Inside::InternetAddress::PredefinedAddress' : uses 'Inside::InternetAddress', which is being defined
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(27) : see declaration of 'Inside::InternetAddress'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(37) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(37) : error C2062: type 'int' unexpected
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(38) : error C2146: syntax error : missing ')' before identifier 'ip_and_port'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(38) : error C2146: syntax error : missing ';' before identifier 'ip_and_port'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(38) : error C2838: 'string' : illegal qualified name in member declaration
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(38) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(38) : error C2146: syntax error : missing ';' before identifier 'domain'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(38) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(38) : error C2065: 'ADDRESS_INTERNET' : undeclared identifier
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(38) : error C2059: syntax error : ')'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(38) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(38) : error C2864: 'Inside::InternetAddress::domain' : only static const integral data members can be initialized within a class
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(39) : error C2146: syntax error : missing ')' before identifier 'ip'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(39) : error C2146: syntax error : missing ';' before identifier 'ip'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(39) : error C2838: 'string' : illegal qualified name in member declaration
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(39) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(39) : error C2146: syntax error : missing ';' before identifier 'port'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(39) : error C2886: 'std::string' : symbol cannot be used in a member using-declaration
c:\program files\microsoft visual studio 8\vc\include\xstring(2090) : see declaration of 'std::string'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(39) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(39) : error C2146: syntax error : missing ';' before identifier 'domain'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(39) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(39) : error C2059: syntax error : ')'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(39) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(39) : error C2864: 'Inside::InternetAddress::domain' : only static const integral data members can be initialized within a class
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(40) : error C2146: syntax error : missing ')' before identifier 'ip'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(40) : error C2146: syntax error : missing ';' before identifier 'ip'
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(40) : error C2838: 'string' : illegal qualified name in member declaration
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(40) : error C2062: type 'int' unexpected
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(41) : error C2062: type 'int' unexpected
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.h(41) : error C2238: unexpected token(s) preceding ';'
InternetAddress.cpp
d:\rollout\inside sockets\inside_sockets\inside_sockets\internetaddress.cpp(80) : error C2593: 'operator =' is ambiguous
c:\program files\microsoft visual studio 8\vc\include\xstring(885): could be 'std::basic_string<_Elem,_Traits,_Ax> &std::basic_string<_Elem,_Traits,_Ax>::operator =(_Elem)'
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
c:\program files\microsoft visual studio 8\vc\include\xstring(880): or 'std::basic_string<_Elem,_Traits,_Ax> &std::basic_string<_Elem,_Traits,_Ax>::operator =(const _Elem *)'
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
while trying to match the argument list '(std::string, int)'
Generating Code...
Build Time 0:02
Build log was saved at "file://d:\rollout\inside sockets\inside_sockets\inside_sockets\Debug\BuildLog.htm"
inside_sockets - 35 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========