Ignore:
Timestamp:
Jul 1, 2008, 6:23:14 PM (17 years ago)
Author:
cinc
Message:

Put info for NOM compiler in emitted *.h files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/idl-compiler/c/emitter.c

    r326 r379  
    9393}
    9494
     95
     96/*
     97 \param pArray Pointer to the list of parameters.
     98 */
     99void emitMethodParamsForNOMCompiler(PPARSEINFO pLocalPI, PINTERFACE pif, GPtrArray *pArray)
     100{
     101  FILE* fh=pLocalPI->outFile;
     102  int a;
     103 
     104  for(a=0;a<pArray->len;a++)
     105  {
     106    int b;
     107    gchar *chrType;
     108    PMETHODPARAM pm=(PMETHODPARAM)g_ptr_array_index(pArray, a);
     109   
     110    chrType= pm->chrType;
     111
     112#if 0
     113    /* For old IDL files using orbit IDL compiler */
     114    if(!strcmp(pm->chrType, "string"))
     115      chrType="CORBA_char*";
     116    else if(!strcmp(pm->chrType, "long"))
     117      chrType="CORBA_long";
     118    else if(!strcmp(pm->chrType, "unsigned long"))
     119      chrType="CORBA_unsigned_long";
     120    else if(!strcmp(pm->chrType, "boolean"))
     121      chrType="CORBA_boolean";
     122#endif
     123   
     124    switch(pm->uiDirection)
     125    {
     126      case PARM_DIRECTION_IN:
     127        fprintf(fh, " in %s", chrType);
     128        break;
     129      case PARM_DIRECTION_OUT:
     130        fprintf(fh, " out  %s", chrType);
     131        break;
     132      case PARM_DIRECTION_INOUT:
     133        fprintf(fh, " inout %s", chrType);
     134        break;
     135      default:
     136     
     137        break;
     138    }
     139    for(b=0;b<pm->uiStar;b++)
     140      fprintf(fh, "*");
     141    fprintf(fh, " %s", pm->chrName);
     142    if(a<pArray->len-1)
     143      fprintf(fh, ",");
     144     
     145  }
     146}
     147
     148
    95149/*
    96150  \param pArray Pointer to the list of parameters.
     
    133187    fprintf(fh, "*");
    134188}
     189
     190
     191void emitReturnTypeForNOMCompiler(PPARSEINFO pLocalPI, PINTERFACE pif, PMETHOD pm)
     192{
     193  FILE* fh=pLocalPI->outFile;
     194  int b;
     195  gchar* chrType;
     196 
     197  chrType= pm->mpReturn.chrType;
     198
     199#if 0
     200  /* Support for orbit IDL files */
     201  if(!strcmp(pm->mpReturn.chrType, "long"))
     202    chrType="CORBA_long";
     203  else if(!strcmp(pm->mpReturn.chrType, "boolean"))
     204    chrType="CORBA_boolean";
     205  else if(!strcmp(pm->mpReturn.chrType, "unsigned long"))
     206    chrType="CORBA_unsigned_long";
     207#endif
     208 
     209  if(!strcmp(pm->mpReturn.chrType, "boolean"))
     210    chrType="gboolean";
     211 
     212  fprintf(fh, "%s", chrType);
     213  for(b=0;b<pm->mpReturn.uiStar;b++)
     214    fprintf(fh, "*");
     215}
Note: See TracChangeset for help on using the changeset viewer.