1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Copyright 2006 The Android Open Source Project 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Generate a big pile of interface classes. 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project#include <stdio.h> 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Create N interface files. 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectstatic int createFiles(int count) 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project FILE* fp; 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int i; 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (i = 0; i < count; i++) { 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char nameBuf[32]; 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project sprintf(nameBuf, "src/Interface%03d.java", i); 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fp = fopen(nameBuf, "w"); 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (fp == NULL) { 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fprintf(stderr, "ERROR: unable to open %s\n", nameBuf); 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return -1; 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fprintf(fp, "interface Interface%03d {\n", i); 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if ((i & 0x01) != 0) 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fprintf(fp, " int func%03d();\n", i); 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fprintf(fp, "}\n"); 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fclose(fp); 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fp = fopen("func-decl", "w"); 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fprintf(fp, " implements\n"); 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (i = 0; i < count; i++) { 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fprintf(fp, " Interface%03d%s\n", i, (i == count-1) ? "" : ","); 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fprintf(fp, "\n"); 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (i = 1; i < count; i += 2) { 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fprintf(fp, " public int func%03d() { return %d; }\n", i, i); 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fclose(fp); 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return 0; 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectint main() 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int result; 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result = createFiles(100); 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return (result != 0); 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 55