Fix for fetching type information from remote system.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17095 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-Macdonald 2003-07-04 09:33:53 +00:00
parent 8831b90cc5
commit 2a99982e1a
8 changed files with 148 additions and 25 deletions

View file

@ -17,6 +17,14 @@
#include "wgetopt.h"
/*
* Dummy declaration with different bycopy/byref info from the one
* in the server ... we expect the info from the server to be used.
*/
@interface Dummy : NSObject
- (id) quietBycopy: (id byref)a;
@end
@interface Auth : NSObject
@end
@ -275,6 +283,7 @@ con_messages (id prx)
printf("Testing bycopy/byref:\n");
[prx sendBycopy: obj];
[prx quietBycopy: obj];
#ifdef _F_BYREF
[prx sendByref: obj];

View file

@ -8,6 +8,8 @@
#include <Foundation/NSProcessInfo.h>
#include <Foundation/NSAutoreleasePool.h>
#include <Foundation/NSException.h>
#define IN_SERVER 1
#include "server.h"
#include "wgetopt.h"
@ -357,6 +359,13 @@
return self;
}
- quietBycopy: (bycopy id)o
{
printf(" >> quiet bycopy class is %s\n", object_get_class_name (o));
fflush(stdout);
return self;
}
- sendBycopy: (bycopy id)o
{
printf(" >> bycopy class is %s\n", object_get_class_name (o));

View file

@ -75,10 +75,25 @@ struct myarray {
- (oneway void) exceptionTest3;
@end
#ifdef IN_SERVER
/*
* We don't want the client to know about some methods, so we can
* check that they work when it doesn't know them.
*/
@protocol privateServer
- quietBycopy: (bycopy id)o;
@end
@interface Server : NSObject <ServerProtocol,privateServer>
{
id the_array;
}
@end
#else
@interface Server : NSObject <ServerProtocol>
{
id the_array;
}
@end
#endif
#endif /* _server_h */