15d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao/* 25d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * Copyright 2006 The Android Open Source Project 35d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * 45d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * Generate a big pile of interface classes. 55d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao */ 65d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao#include <stdio.h> 75d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 85d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao/* 95d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * Create N interface files. 105d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao */ 115d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhaostatic int createFiles(int count) 125d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao{ 135d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao FILE* fp; 145d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao int i; 155d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 165d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao for (i = 0; i < count; i++) { 175d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao char nameBuf[32]; 185d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 19748474146da0c6484fa3dca0a700f612d47550c3Elliott Hughes snprintf(nameBuf, sizeof(nameBuf), "src/Interface%03d.java", i); 205d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao fp = fopen(nameBuf, "w"); 215d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao if (fp == NULL) { 225d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao fprintf(stderr, "ERROR: unable to open %s\n", nameBuf); 235d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao return -1; 245d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 255d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 265d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao fprintf(fp, "interface Interface%03d {\n", i); 275d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao if ((i & 0x01) != 0) 285d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao fprintf(fp, " int func%03d();\n", i); 295d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao fprintf(fp, "}\n"); 305d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao fclose(fp); 315d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 325d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 335d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao fp = fopen("func-decl", "w"); 345d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao fprintf(fp, " implements\n"); 355d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao for (i = 0; i < count; i++) { 365d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao fprintf(fp, " Interface%03d%s\n", i, (i == count-1) ? "" : ","); 375d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 385d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao fprintf(fp, "\n"); 395d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao for (i = 1; i < count; i += 2) { 405d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao fprintf(fp, " public int func%03d() { return %d; }\n", i, i); 415d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 425d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao fclose(fp); 435d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 445d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao return 0; 455d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao} 465d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 475d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhaoint main() 485d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao{ 495d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao int result; 505d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 515d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao result = createFiles(100); 525d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 535d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao return (result != 0); 545d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao} 55