|
Class: SmalltalkShareClient
Object
|
+--SunRPC::RPCEndPoint
|
+--SunRPC::RPCClient
|
+--SmalltalkShareClient
- Package:
- stx:goodies/communication
- Category:
- Net-Communication-SmallTeam
- Version:
- rev:
1.7
date: 2017/05/22 10:22:37
- user: mawalch
- file: SmalltalkShareClient.st directory: goodies/communication
- module: stx stc-classLibrary: communication
- Author:
- Claus Gittinger
a client for remote image access.
[start with (server side):]
SmalltalkShareServer start
SmalltalkShareServer startUDP
[start with (client side):]
|client matchArg list|
client := SmalltalkShareClient toHost:'localhost'.
matchArg := Dictionary new.
matchArg at:'classNamePattern' put:'*'.
matchArg at:'categoryPattern' put:'*'.
matchArg at:'packagePattern' put:'*'.
list := client getClassList:matchArg.
client close.
list inspect.
SystemBrowser openOnRemoteImageOnHost:'localhost' port:nil
SmalltalkShareServer
spec
-
xdr
-
operations
-
getCategories
-
|client list|
client := self new host:'localhost'.
list := client getCategories.
client close.
list inspect.
-
getClassNames: getClassNamesArg
-
|client arg list|
arg := Dictionary new.
arg at:'classNameMatchPattern' put:'A*'.
arg at:'categoryMatchPattern' put:'*'.
arg at:'packageMatchPattern' put:'*'.
client := self new host:'localhost'.
list := client getClassNames:arg.
client close.
list inspect.
-
getClasses: getClassNamesArg
-
|client arg list|
arg := Dictionary new.
arg at:'classNameMatchPattern' put:'A*'.
arg at:'categoryMatchPattern' put:'*'.
arg at:'packageMatchPattern' put:'*'.
client := self new host:'localhost'.
list := client getClasses:arg.
client close.
list inspect.
-
getMethodInfo: getMethodInfoArg
-
-
getMethodNames: getMethodNamesArg
-
|client arg list|
arg := Dictionary new.
arg at:'className' put:'Array'.
arg at:'meta' put:false.
client := self new host:'localhost'.
list := client getMethodNames:arg.
client close.
list inspect.
utilities
-
downLoad
-
synchronize from the other smalltalk - i.e. for all
classes which are newer in the other image, download the class
and install it.
-
downLoadPackagesMatching: packageMatchPattern
-
synchronize from the other smalltalk - i.e. for all
classes which are newer in the other image, download the class
and install it.
-
getAllClassNames
-
|service list|
service := self toHost:'localhost'.
list := service getAllClassNames.
service close.
list inspect.
|service list|
service := self toHost:'funkfix'.
list := service getAllClassNames.
service close
-
getAllShortClassStubsFor: anEnvironment
-
|service list|
service := self toHost:'localhost'.
list := service getAllShortClassStubs.
service close.
list inspect.
|service list|
service := self toHost:'funkfix'.
list := service getAllClassNames.
service close
-
getAllShortMethodStubsFor: aClass
-
-
getClassNamed: className
-
|client cls|
client := self new host:'localhost'.
cls := client getClassNamed:'Array'.
client close.
cls inspect
-
getClassNamesInPackagesMatching: packageMatchPattern
-
|client list|
client := self new host:'localhost'.
list := client getClassNamesInPackagesMatching:'stx:libbasic3'.
client close.
list inspect
-
getInfoForClassNamed: className
-
|client cls|
client := self new host:'localhost'.
cls := client getInfoForClassNamed:'Array'.
client close.
cls inspect
-
getInfoForMethodNamed: selector inClass: aClass
-
|client info|
client := self new host:'localhost'.
info := client getInfoForMethodNamed:#at:put: inClass:Array.
client close.
info inspect
RemoteClass
RemoteMetaclass
RemoteMethod
get list of class categories:
|shareClient list|
shareClient := SmalltalkShareClient toHost:'localhost'.
list := shareClient getCategories.
shareClient close.
list inspect.
|
get list of classes (name starting with A) from other image:
|shareClient matchArg list|
shareClient := SmalltalkShareClient toHost:'localhost'.
matchArg := Dictionary new.
matchArg at:'classNameMatchPattern' put:'A*'.
matchArg at:'categoryMatchPattern' put:'*'.
matchArg at:'packageMatchPattern' put:'*'.
list := shareClient getClasses:matchArg.
shareClient close.
list inspect.
|
get list of classes (in category Magnitude-Numbers) from other image:
|shareClient matchArg list|
shareClient := SmalltalkShareClient toHost:'localhost'.
matchArg := Dictionary new.
matchArg at:'classNameMatchPattern' put:'*'.
matchArg at:'categoryMatchPattern' put:'Magnitude-Numbers'.
matchArg at:'packageMatchPattern' put:'*'.
list := shareClient getClasses:matchArg.
shareClient close.
list inspect.
|
get list of classes of a package from other image:
|shareClient matchArg list|
shareClient := SmalltalkShareClient toHost:'localhost'.
matchArg := Dictionary new.
matchArg at:'classNameMatchPattern' put:'*'.
matchArg at:'categoryMatchPattern' put:'*'.
matchArg at:'packageMatchPattern' put:'stx:goodies/communication'.
list := shareClient getClasses:matchArg.
shareClient close.
list inspect.
|
|