Search code examples
javac++symbianporting

Converting Java to Symbian C/C++ - byte and object array


Java code:

public static final byte cw_bArray = 0x01;
public static final byte cw_string = 0x02;

byte[] arr1=new byte[]{0x01};
byte[] arr2=new byte[]{0x02};
byte[] arr3=new byte[]{0x03};
byte[] code_ward_arr=new byte[]{cw_bArray,cw_string,cw_bArray};

method:
mount(null,new Object[]{arr1,arr2,arr3}, code_ward_arr); 

I am trying to convert this code into symbian c/c++. I have done with this but i dont know how to pass argument anybody help me with this.

static const signed char cw_bArray = 0x01;
static const signed char cw_string = 0x02;

signed char a1 = {0x01};
signed char a2 = {0x02}; 
signed char a3 = {0x03}; 

signed char code_ward_arr[]  = {cw_bArray,cw_bArray,cw_bArray};
//signed char bbb[]  = {a1,a2,a3};  
   char *bb=new char[2];
    bb[0] = a1;
    bb[1] = a2;
    bb[2] = a3;

mount(NULL, bb[] , code_ward_arr);

method:

LOCAL_C void mount(signed char initData, char* obj[], signed char codeWord)
    {

    }

i am trying to convert this part of code to c java code:

Object obj[] = null;
if(codeWord==null){
            obj = new Object[10];//Initial Loading Capacity
        }else{
            obj = new Object[codeWord.length];
        }

C code:

char* obj[] = {NULL};

 if(codeWord==NULL)
 {
 obj = new char[10];
 } 
 else 
 {
 obj = new char[Cwlen];
 }

i'll get this error illegal operands 'char *[1]' = 'char *'


Solution

  • This should work

    char a1[]={0x01};
    char a2[]={0x01};
    char a3[]={0x01};
    
    char *  bb [3];
    bb[0] = a1;
    bb[1] = a2;
    bb[2] = a3;
    
    
    mount(NULL, bb , code_ward_arr);