changes #domainSymbol to #domain fpr comaptibility with Socket
authorStefan Vogel <sv@exept.de>
Thu, 11 Jul 2013 17:02:16 +0200
changeset 3055 df35ff76de4a
parent 3054 6a30dfee6c5b
child 3056 fef823bb10e4
changes #domainSymbol to #domain fpr comaptibility with Socket
SocketAddress.st
--- a/SocketAddress.st	Thu Jul 11 17:02:13 2013 +0200
+++ b/SocketAddress.st	Thu Jul 11 17:02:16 2013 +0200
@@ -92,7 +92,7 @@
     addressInfo := self 
                     getAddressInfo:name 
                     serviceName:portNrOrName 
-                    domain:(self domainSymbol) 
+                    domain:self domain 
                     type:socketTypeSymbol
                     protocol:nil 
                     flags:0.
@@ -246,10 +246,20 @@
 
 !SocketAddress class methodsFor:'queries'!
 
+domain
+    "Answer the domain symbol. Subclasses redefine this"
+
+    self == SocketAddress ifTrue:[
+        ^ nil
+    ] ifFalse:[
+        self subclassResponsibility
+    ]
+!
+
 domainCode
     "answer the numerical domain code used in socket addresses"
 
-    ^ OperatingSystem domainCodeOf:(self domainSymbol)
+    ^ OperatingSystem domainCodeOf:self domain
 !
 
 domainCodeFromName:aNameSymbol
@@ -434,16 +444,6 @@
     self error:'no more mimicri implemented yet ...'
 !
 
-domainSymbol
-    "Answer the domain symbol. Subclasses redefine this"
-
-    self == SocketAddress ifTrue:[
-        ^ nil
-    ] ifFalse:[
-        self subclassResponsibility
-    ]
-!
-
 getAddressInfo:hostName serviceName:serviceName domain:domainArg type:typeArg protocol:protoArg flags:flags 
     "answer an Array of socket addresses for serviceName on hostName
      Domain, type, protocol may be nil or specify a hint for the socket 
@@ -524,22 +524,22 @@
     |cls|
 
     DomainToClassMapping isNil ifTrue:[
-        DomainToClassMapping := IdentityDictionary new
+        DomainToClassMapping := IdentityDictionary new.
+        "/ some are always known...
+        DomainToClassMapping 
+            at:#unix put:UDSocketAddress;
+            at:#inet put:IPSocketAddress;
+            at:#inet6 put:IPv6SocketAddress;
+            at:#appletalk put:AppletalkSocketAddress;
+            at:#decnet put:DecNetSocketAddress.
     ].
     cls := DomainToClassMapping at:code ifAbsent:nil.
     cls notNil ifTrue:[^ cls].
 
     code notNil ifTrue:[
-        "/ some are always known...
-        DomainToClassMapping at:#unix put:UDSocketAddress.
-        DomainToClassMapping at:#inet put:IPSocketAddress.
-        DomainToClassMapping at:#inet6 put:IPv6SocketAddress.
-        DomainToClassMapping at:#appletalk put:AppletalkSocketAddress.
-        DomainToClassMapping at:#decnet put:DecNetSocketAddress.
-
         self allSubclassesDo:[:aSubClass|
             (aSubClass domainCode == code
-            or:[aSubClass domainSymbol == code
+            or:[aSubClass domain == code
             or:[aSubClass obsoleteDomainSymbol == code
             or:[aSubClass vwDomainSymbol == code]]])
             ifTrue:[
@@ -579,7 +579,7 @@
     "answer the OS specific size of a socket address.
      Returns nil, if the domain is not supported or invalid."
 
-    ^ OperatingSystem socketAddressSizeOfDomain:(self domainSymbol)
+    ^ OperatingSystem socketAddressSizeOfDomain:self domain
 
     "
      SocketAddress socketAddressSize  
@@ -710,6 +710,12 @@
     ^ self subclassResponsibility
 !
 
+domain
+    "anwer the domain symbol used to creat a socket"
+
+    ^ self class domain
+!
+
 hostName
     ^ (self class getNameInfo:self wantHostName:true 
                   wantServiceName:false datagram:false flags:0) first
@@ -795,15 +801,19 @@
      Subclasses may redefine this to check the local configuration, too."
 
     ^ self isLocal
+!
+
+isSocketAddress
+    ^ true
 ! !
 
 !SocketAddress class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic2/SocketAddress.st,v 1.39 2013-07-11 11:38:00 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic2/SocketAddress.st,v 1.40 2013-07-11 15:02:16 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic2/SocketAddress.st,v 1.39 2013-07-11 11:38:00 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic2/SocketAddress.st,v 1.40 2013-07-11 15:02:16 stefan Exp $'
 ! !