it basically works this way:

you create an instance/object and return it's pointer to lite-c
then wrap all functions of tat class in c++ as DLLFUNC s, make it so that it takes an instance pointer and necessary parameters, and calls that function over that instance with the given paramaters.

all code below is psuedo-code:

say, this is your class
Code:
class AwesomeClass{
   private: int a, int b;
   public AwesomeClass(int x,int y){
      a = x; b = y;
   }
   public void setA(int newa){
        a = newa;
   }
   public void setb(int newb){
        b = newb;
   }
   public int sum(){
       return a+b;
   }
}



this is the wrapping in c++ part:
Code:
DLLFUNC AwesomeClass* ac_create(int a, int b){
    return new AwesomeClass(a,b);
}

DLLFUNC void ac_setA(AwesomeClass* ac, int newa){
    ac.setA(newa);
}

DLLFUNC void ac_setB(AwesomeClass* ac, int newB){
    ac.setB(newB);
}

DLLFUNC int ac_sum(AwesomeClass* ac){
    return ac.sum();
}



this is how you use it in lite-c
first your Lite-c header, you may want to call it awesomeclass.h:
Code:
#define AwesomeClass int
AwesomeClass* ac_create(int a, int b);
void ac_setA(AwesomeClass* ac, int newa);
void ac_setB(AwesomeClass* ac, int newB);
int ac_sum(AwesomeClass* ac);


and then use it in lite-c:
Code:
AwesomeClass* myinstance = ac_create(3,5);
AwesomeClass* anotherinstance = ac_create(10,11);//you can create as many instances as you want
printf("%d",ac_sum(myinstance));//will show you 8
ac_setA(myinstance,5);
printf("%d",ac_sum(myinstance));//will show you 10



Last edited by Quadraxas; 03/31/11 11:04.

3333333333