//-------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------- void HttpRequestSystem::OnInit() { JavaClassDef classDef("com/chilliworks/chillisource/networking/HttpRequestSystem"); classDef.AddMethod("isConnected", "()Z"); m_javaSystem = JavaSystemUPtr(new JavaSystem(classDef)); }
ClassDef::ClassDef( char * defFile ):openErr(0) { // allocate for the input line from the class defination file. // char * classDefLine = new char[256]; // open the needed files: // ifstream classDef(defFile); if( ! classDef ) { cerr << "Could not open class definition file: " << defFile << endl; openErr = true; } cppFile = defFile; hppFile = defFile; cppFile += ".cpp"; hppFile += ".hpp"; if( !openErr ) { char * result; const char * Level2; const char * Level3; // expect the first line in the class def to contain the CLASS // keyword. // if ( classDef.getline( classDefLine, 80 ) ) { cout << classDefLine << endl; result = strtok( classDefLine," " ); cout << result << endl; if( !strcmp( result, tokClassHeader ) ) { result = strtok( '\0', " " ); cout << result << endl; className = result; className.trim(); } } while ( classDef.getline( classDefLine, 80 ) && className.max() ) { trim( classDefLine ); if( strlen( classDefLine ) ) { cout << classDefLine << endl; // level 2 if( strstr( classDefLine, tokPrivate ) ) { Level2 = tokPrivate; } else if( strstr( classDefLine, tokPublic ) ) { Level2 = tokPublic; } else if( strstr( classDefLine, tokData ) ) { Level3 = tokData; } else if( strstr( classDefLine, tokMethods ) ) { Level3 = tokMethods; } else if( strstr( classDefLine, tokParents ) ) { Level3 = tokParents; } else if( strstr( classDefLine, tokInclude ) ) { hString * incLine = new hString; *incLine = classDefLine; includes.add(incLine); } else { if( Level3 == tokData ) { classMember * member = new classMember; if( parseMember( *member, classDefLine ) ) { findType( *member ); accessDefs( *member ); accessImps( *member ); initAndDestroy( *member ); if( Level2 == tokPublic ) { publicMembers.add(member); } else if( Level2 == tokPrivate ) { privateMembers.add(member); } if( member->type.matchIn("*") ) { classMember * sizMember = new classMember; sizMember->name = "size"; sizMember->name += member->name.upperS(); sizMember->type = "unsigned long"; findType( *sizMember ); accessDefs( *sizMember ); accessImps( *sizMember ); initAndDestroy( *sizMember ); sizeMembers.add( sizMember ); } } } else if ( Level3 == tokMethods ) { hString * method = new hString; *method = classDefLine; if( Level2 == tokPublic ) { publicMethods.add(method); } else if( Level2 == tokPrivate ) { privateMethods.add(method); } } else if ( Level3 == tokParents ) { hString * dad = new hString; *dad = classDefLine; if( Level2 == tokPublic ) { publicParents.add(dad); } else if( Level2 == tokPrivate ) { privateParents.add(dad); } } } } // end if length } // end while } // end if delete [] classDefLine; }