From ee937667fd0ecd82faab4c88d756b906fb625f1a Mon Sep 17 00:00:00 2001 From: sc Date: Tue, 28 Nov 2000 17:07:47 +0000 Subject: Integration into IvyLeague Uvh -> Ivl Multiplexer.* is renamed into Scheduler.* A few name conflicts in the merger with ex-DNN have been solved Imakefile is replaced by Makefile Created InetAddress.* and UnixAddress.* from Address.* Created IrdaAddress.* OLD/TextStream has been updated --- comm/Address.h | 89 +++++++++++++++------------------------------------------- 1 file changed, 22 insertions(+), 67 deletions(-) (limited to 'comm/Address.h') diff --git a/comm/Address.h b/comm/Address.h index d0e083d..7ca302a 100644 --- a/comm/Address.h +++ b/comm/Address.h @@ -10,47 +10,56 @@ * * $Id$ * $CurLog$ + * Removed smart pointers (S.Sire) + * Changed IvlInetAddress::StrRepr and added GetHostname and GetNoHostname */ #ifndef Address_H_ #define Address_H_ #include "cplus_bugs.h" -#include "ccu/bool.h" -#include "ccu/word.h" -#include "ccu/String.h" +#include "ivl/bool.h" +#include "ivl/word.h" +#include "ivl/String.h" #include #include -#include +typedef struct sockaddr SockAddr; + +/***** all this is necessary for function Decode only. This should be investigated */ +#include #ifdef UNIX_SOCK #include -#endif - #ifndef AF_UNIX #define AF_UNIX AF_UNSPEC #endif +#endif +#ifdef IRDA_SOCK +#include +#endif union gen_addr { struct sockaddr sa; // default #ifdef UNIX_SOCK struct sockaddr_un su; // unix #endif +#ifdef IRDA_SOCK + struct sockaddr_irda sir; // irda +#endif struct sockaddr_in si; // inet }; +/***** end of part that is necessary for Decode only */ -typedef struct sockaddr SockAddr; -/* this union is useful for adresses returned by system calls */ -typedef union gen_addr GEN_ADDR; +typedef union gen_addr GEN_ADDR; /* useful for adresses returned by system calls */ -class UchAddress { +class IvlAddress { protected: bool Valid; public: - UchAddress (); -virtual ~UchAddress (); + IvlAddress (); +virtual ~IvlAddress (); bool IsValid () const { return Valid; } virtual int Family () = 0; // AF_UNSPEC, AF_UNIX, AF_INET @@ -58,61 +67,7 @@ virtual int Length () = 0; virtual SockAddr* GetSockAddr () = 0; virtual char* StrRepr (char* buf) = 0; -static UchAddress* Decode (GEN_ADDR*, int); -}; - -class UchInetAddress : public UchAddress { -protected: - CcuString HostName; - bool HasHostName; - struct sockaddr_in Addr; - - const char* GetNoHostName (); - -public: - UchInetAddress (); - UchInetAddress (lword, sword); // hostid, port# - UchInetAddress (const char*, sword = 0); // hostname, port# - ~UchInetAddress (); - - int Family (); - int Length (); - SockAddr* GetSockAddr (); -inline sword Port () { return Addr.sin_port; } -inline lword Host () { return Addr.sin_addr.s_addr; } - char* StrRepr (char* buf = 0); - const char* GetHostName (); - -static lword LoopBack (); -}; - -#ifndef INADDR_LOOPBACK -#define INADDR_LOOPBACK (INET_ADDR::LoopBack ()) -#endif - -#define ANYADDR ((lword) INADDR_ANY) -#define LOOPBACK ((lword) INADDR_LOOPBACK) -#define BROADCAST ((lword) INADDR_BROADCAST) - - -#ifdef UNIX_SOCK - -class UchUnixAddress : public UchAddress { -protected: - struct sockaddr_un Addr; - -public: - UchUnixAddress (); - UchUnixAddress (const char*); - ~UchUnixAddress (); - - int Family (); - int Length (); - SockAddr* GetSockAddr (); - char* StrRepr (char* buf); +static IvlAddress* Decode (GEN_ADDR*, int); }; -#endif /* UNIX_ADDR */ - - #endif /* Address_H_ */ -- cgit v1.1