mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-07 12:15:51 +00:00
432 lines
14 KiB
C++
432 lines
14 KiB
C++
#include <stdio.h>
|
|
#include <stream.h>
|
|
#include <fstream.h>
|
|
#include <stdlib.h>
|
|
#include "RPCServerService.h"
|
|
#include "nsISupports.h"
|
|
#include "nsIJVMManager.h"
|
|
#include "nsIRPCTestComb.h"
|
|
#include "IDispatcher.h"
|
|
#include "nsIThread.h"
|
|
#include "deftest.h"
|
|
#include "proto.h"
|
|
|
|
class nsRPCTestCombImpl : public nsIRPCTestComb {
|
|
|
|
|
|
NS_DECL_ISUPPORTS
|
|
nsRPCTestCombImpl() {
|
|
NS_INIT_REFCNT();
|
|
}
|
|
|
|
NS_IMETHOD TestComb1(PRBool bool, char *c) {
|
|
printf("TestComb1 this=%p\n", this);
|
|
printf("--nsRPCTestCombImpl::Test1 %d\n",bool);
|
|
printf("Before character assignment.\n");
|
|
*c = 'Z';
|
|
printf("After character assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb1 %c\n",*c);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb2(PRBool bool, char **s) {
|
|
printf("TestComb2 this=%p\n", this);
|
|
printf("--nsRPCTestCombImpl::Test2 %d\n",bool);
|
|
printf("--nsRPCTestCombImpl::Test2 %s\n",*s);
|
|
printf("Before string assignment.\n");
|
|
*s = "Remote ipc tests.";
|
|
printf("After string assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb2 %s\n",*s);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb3(char *c, char **s) {
|
|
printf("TestComb3 this=%p\n", this);
|
|
printf("--nsRPCTestCombImpl::Test3 %s\n",*s);
|
|
printf("Before character assignment.\n");
|
|
*c = 'Z';
|
|
printf("After character assignment.\n");
|
|
printf("Before string assignment.\n");
|
|
*s = "Remote ipc tests.";
|
|
printf("After string assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb3 %c %s\n",*c,*s);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb4(char **s, PRBool bool, char *c) {
|
|
printf("TestComb4 this=%p\n", this);
|
|
printf("--nsRPCTestCombImpl::Test4 %d\n",bool);
|
|
printf("--nsRPCTestCombImpl::Test4 %s\n",*s);
|
|
printf("Before character assignment.\n");
|
|
*c = 'Z';
|
|
printf("After character assignment.\n");
|
|
printf("Before string assignment.\n");
|
|
*s = "Remote ipc tests.";
|
|
printf("After string assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb4 %c %s\n",*c,*s);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb5(PRInt16 sInt, char *c) {
|
|
printf("TestComb5 this=%p\n", this);
|
|
printf("Before character assignment.\n");
|
|
*c = 'Z';
|
|
printf("After character assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb5 %c\n",*c);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb6(PRBool bool, PRInt16 *sInt) {
|
|
printf("TestComb6 this=%p\n", this);
|
|
printf("Before short int assignment.\n");
|
|
*sInt = 777;
|
|
printf("After short int assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb6 %d\n",*sInt);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb7(PRBool bool, PRInt16 *sInt) {
|
|
printf("TestComb7 this=%p\n", this);
|
|
printf("--nsRPCTestCombInImpl::Test7 %d\n",*sInt);
|
|
printf("Before short int assignment.\n");
|
|
*sInt = 777;
|
|
printf("After short int assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb7 %d\n",*sInt);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb8(PRBool bool, PRInt16 sInt) {
|
|
printf("TestComb8 this=%p\n", this);
|
|
printf("--nsRPCTestCombInImpl::Test8 %d\n",sInt);
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb8 %d %d\n",bool, sInt);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb9(PRBool bool, char c) {
|
|
printf("TestComb9 this=%p\n", this);
|
|
printf("--nsRPCTestCombInImpl::Test9 %d\n",c);
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb9 %d %c\n",bool, c);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb10(PRBool bool, char **s) {
|
|
printf("TestComb10 this=%p\n", this);
|
|
printf("--nsRPCTestCombImpl::Test10 %d\n",bool);
|
|
printf("Before string assignment.\n");
|
|
*s = "Remote ipc tests.";
|
|
printf("After string assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb10 %s\n",*s);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb11(PRBool bool, char *c) {
|
|
printf("TestComb11 this=%p\n", this);
|
|
printf("--nsRPCTestCombImpl::Test11 %d\n",*c);
|
|
*c = 'Z';
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb11 %c\n",*c);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb12(PRBool bool, PRInt32 *l) {
|
|
printf("TestComb12 this=%p\n", this);
|
|
printf("--nsRPCTestCombImpl::Test12 %d\n",bool);
|
|
*l = 99999999;
|
|
printf("After long integer assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb12 %d\n",*l);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb13(PRBool bool, PRInt32 *l) {
|
|
printf("TestComb13 this=%p\n", this);
|
|
printf("--nsRPCTestCombImpl::Test13 %d\n",bool);
|
|
printf("--nsRPCTestCombImpl::Test13 %d\n",*l);
|
|
*l = 99999999;
|
|
printf("After long integer assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb13 %d\n",*l);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb14(PRBool bool, PRInt32 l) {
|
|
printf("TestComb14 this=%p\n", this);
|
|
printf("--nsRPCTestCombImpl::Test14 %d\n",bool);
|
|
printf("--nsRPCTestCombImpl::Test14 %d\n",l);
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb14 %d %d\n",bool, l);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb15(PRBool bool, double *d) {
|
|
printf("TestComb15 this=%p\n", this);
|
|
printf("--nsRPCTestCombImpl::Test15 %d\n",bool);
|
|
*d = 9999999.9999999;
|
|
printf("After long integer assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb15 %.50f\n",*d);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb16(PRBool bool, double *d) {
|
|
printf("TestComb16 this=%p\n", this);
|
|
printf("--nsRPCTestCombImpl::Test16 %d\n",bool);
|
|
printf("--nsRPCTestCombImpl::Test16 %d\n",*d);
|
|
*d = 9999999.9999999;
|
|
printf("After long integer assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb16 %.50f\n", *d);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb17(PRBool bool, PRUint16 *usInt) {
|
|
printf("TestComb17 this=%p\n", this);
|
|
printf("--nsRPCTestCombInImpl::Test17 %d\n",*usInt);
|
|
printf("Before unsigned short int assignment.\n");
|
|
*usInt = 777;
|
|
printf("After unsigned short int assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb17 %d\n",*usInt);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb18(PRBool bool, PRUint16 *usInt) {
|
|
printf("TestComb18 this=%p\n", this);
|
|
printf("Before unsigned short int assignment.\n");
|
|
*usInt = 777;
|
|
printf("After unsigned short int assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb18 %d\n",*usInt);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb19(PRBool bool, PRUint8 *oct) {
|
|
printf("TestComb19 this=%p\n", this);
|
|
printf("Before assignment.\n");
|
|
*oct = 77;
|
|
printf("After assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb19 %o\n",*oct);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb20(PRBool bool, PRUint8 *oct) {
|
|
printf("TestComb20 this=%p\n", this);
|
|
printf("--nsRPCTestCombInImpl::Test20 %d\n",*oct);
|
|
printf("Before assignment.\n");
|
|
*oct = 77;
|
|
printf("After assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb20 %o\n",*oct);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb21(PRBool bool, PRUint8 oct) {
|
|
printf("TestComb21 this=%p\n", this);
|
|
printf("--nsRPCTestCombInImpl::Test21 %d\n",oct);
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb21 %d %o\n",bool,oct);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb22(PRBool bool, PRBool bool2 ) {
|
|
printf("TestComb22 this=%p\n", this);
|
|
printf("--nsRPCTestCombInImpl::Test22 %d\n",bool2);
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb22 %d %d\n",bool,bool2);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb23(PRBool bool, PRBool *bool2 ) {
|
|
printf("TestComb23 this=%p\n", this);
|
|
printf("--nsRPCTestCombInImpl::Test23 %d\n",*bool2);
|
|
printf("Before assignment.\n");
|
|
*bool2 = PR_FALSE;
|
|
printf("After assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb23 %d\n",*bool2);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb24(PRBool bool, PRBool *bool2 ) {
|
|
printf("TestComb24 this=%p\n", this);
|
|
printf("Before assignment.\n");
|
|
*bool2 = PR_FALSE;
|
|
printf("After assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb24 %d\n",*bool2);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb25(PRBool *bool, char *c) {
|
|
printf("TestComb25 this=%p\n", this);
|
|
printf("Before assignment.\n");
|
|
*bool = PR_FALSE;
|
|
*c = 'Z';
|
|
printf("After assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb25 %d %c\n",*bool,*c);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb26(PRBool *bool, char *c) {
|
|
printf("TestComb26 this=%p\n", this);
|
|
printf("--nsRPCTestCombInImpl::Test26 %d\n",*bool);
|
|
printf("Before assignment.\n");
|
|
*bool = PR_FALSE;
|
|
*c = 'Z';
|
|
printf("After assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb26 %d %c\n",*bool,*c);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb27(PRBool bool, PRUnichar *wc) {
|
|
printf("TestComb27 this=%p\n", this);
|
|
printf("Before assignment.\n");
|
|
*wc = 'Z';
|
|
printf("After assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb27 %c\n",*wc);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb30(const char *s1, char **s2) {
|
|
printf("TestComb30 this=%p\n", this);
|
|
printf("Before assignment.\n");
|
|
*s2 = "Remote ipc test.";
|
|
printf("After assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb30 %s\n",*s2);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb31(PRUint8 *o, PRUint16 *usInt) {
|
|
printf("TestComb31 this=%p\n", this);
|
|
printf("Before assignment.\n");
|
|
*o = 777;
|
|
*usInt = 999;
|
|
printf("After assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb31 %o %u\n",*o,*usInt);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb32(PRUint8 *o, PRInt32 *lInt) {
|
|
printf("TestComb32 this=%p\n", this);
|
|
printf("Before assignment.\n");
|
|
*o = 99;
|
|
*lInt = 9999999;
|
|
printf("After assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb32 %o %u\n",*o,*lInt);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHOD TestComb33(PRInt32 *lInt, PRUint16 *us) {
|
|
printf("TestComb33 this=%p\n", this);
|
|
printf("Before assignment.\n");
|
|
*us = 777;
|
|
*lInt = 9999999;
|
|
printf("After assignment.\n");
|
|
char *tmpstr = new char[200];
|
|
sprintf(tmpstr,"TestComb33 %d %u\n",*lInt,*us);
|
|
writeResult(SERVER_COMB_RES,tmpstr);
|
|
delete tmpstr;
|
|
return NS_OK;
|
|
}
|
|
};
|
|
|
|
NS_IMPL_ISUPPORTS(nsRPCTestCombImpl, NS_GET_IID(nsIRPCTestComb));
|
|
int main(int argc, char **args)
|
|
{
|
|
int i;
|
|
const short num = 4;
|
|
nsRPCTestCombImpl * test[num];
|
|
|
|
setProcessId(COMB_FDATA);
|
|
for(i = 0; i < num; i++) {
|
|
test[i] = new nsRPCTestCombImpl();
|
|
}
|
|
RPCServerService * rpcService = RPCServerService::GetInstance();
|
|
IDispatcher *dispatcher;
|
|
rpcService->GetDispatcher(&dispatcher);
|
|
for(i = 0; i < num; i++) {
|
|
dispatcher->RegisterWithOID(test[i], i + 1);
|
|
}
|
|
while(1) {
|
|
PR_Sleep(100);
|
|
}
|
|
|
|
}
|