Documentation improvements.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17106 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-Macdonald 2003-07-04 16:50:30 +00:00
parent ed6f31208f
commit c1d2603060
3 changed files with 36 additions and 2 deletions

View file

@ -766,6 +766,17 @@ enum
return get_imp(GSObjCClass((id)self), aSelector);
}
/**
* <p>Returns the method signature describing the arguments and return
* types of the method in the object referred to by the receiver
* which implements the aSelecto message.
* </p>
* <p>This method may need to refer to another process (causing relatively
* slow network communication) and apprximately double the time taken for
* sending a distributed objects message, so you are advised to use the
* -setProtocolForProxy: method to avoid this occurring.
* </p>
*/
- (NSMethodSignature*) methodSignatureForSelector: (SEL)aSelector
{
if (_object != nil)
@ -864,6 +875,29 @@ enum
}
}
/**
* <p>A key method for Distributed Objects performance. This sets the
* a protocol that the distant object referred to by the proxy should
* conform to. When messages in that protocol are sent to the proxy,
* the proxy knows that it does not need to ask the remote object for
* the method siagnature in order to send the message to it, but can
* send the message straight away based on the local method signature
* information obtained from the protocol.
* </p>
* <example>
* if ([anObj isProxy] == YES)
* {
* [anObj setProtocolForProxy: @protocol(MyProtocol)];
* }
* </example>
* <p>It is <em>highly recommended</em> that you make use of this facility,
* but you must beware that versions of the compiler prior to 3.3 suffer a
* serious bug with respect to the @protocol directive. If the protocol
* referred to is not declared and implemented in the file where @protocol
* is used to refer to the protocol by name, a runtime error will occur
* when you try to use it.
* </p>
*/
- (void) setProtocolForProxy: (Protocol*)aProtocol
{
_protocol = aProtocol;

View file

@ -485,7 +485,7 @@ static NSDistributedNotificationCenter *netCenter = nil;
/*
* The following dummy class is here solely as a workaround for pre 3.3
* versions of gcc where protocols didn't work properly unless implemented
* in the source where the '@protocol()' directiver is used.
* in the source where the '@protocol()' directive is used.
*/
@interface NSDistributedNotificationCenterDummy : NSObject <GDNCProtocol>
- (void) addObserver: (unsigned long)anObserver

View file

@ -93,7 +93,7 @@ ihandler(int sig)
/*
* The following dummy class is here solely as a workaround for pre 3.3
* versions of gcc where protocols didn't work properly unless implemented
* in the source where the '@protocol()' directiver is used.
* in the source where the '@protocol()' directive is used.
*/
@interface NSDistributedNotificationCenterDummy : NSObject <GDNCClient>
- (oneway void) postNotificationName: (NSString*)name