[ 
https://issues.apache.org/jira/browse/THRIFT-2494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiaodong Ma updated THRIFT-2494:
--------------------------------

    Attachment: c_glib_enum_toString.diff

> Add enum toString helper function in c_glib
> -------------------------------------------
>
>                 Key: THRIFT-2494
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2494
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C glib - Compiler
>            Reporter: Xiaodong Ma
>         Attachments: c_glib_enum_toString.diff
>
>
> If I have IDL like this: 
> enum CertificateStoreType
> {
>     CERT    = 1,
>     PKCS12  = 2
> }
> In header file, it will be: 
> enum _CertificateStoreType {
>   CERTIFICATE_STORE_TYPE_CERT = 1,
>   CERTIFICATE_STORE_TYPE_PKCS12 = 2
> };
> typedef enum _CertificateStoreType CertificateStoreType;
> + /* return the name of the constant */
> + const char *
> + toString_CertificateStoreType(int value); 
> In c file
> + /* return the name of the constant */
> + const char *
> + toString_CertificateStoreType(int value) 
> + {
> +  static __thread char buf[16] = {0};
> +  switch(value) {
> +  case CERTIFICATE_STORE_TYPE_CERT:return "CERTIFICATE_STORE_TYPE_CERT";
> +  case CERTIFICATE_STORE_TYPE_PKCS12:return "CERTIFICATE_STORE_TYPE_PKCS12";
> +  default: g_snprintf(buf, 16, "%d", value); return buf;
> +  }
> + }



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to