All pastes #106227 Raw Edit

Stuff

public text v1 · immutable
#106227 ·published 2006-07-30 05:42 UTC
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 ==========