Xiaodong Ma created THRIFT-2494:
-----------------------------------

             Summary: 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