| 106 | } |
| 107 | |
| 108 | SEXP eleToArray(const Element& e) { |
| 109 | if(e.isNull()) { return R_NilValue; } |
| 110 | switch(e.datatype()) { |
| 111 | case BLPAPI_DATATYPE_BOOL: |
| 112 | return eleToLogical(e); |
| 113 | case BLPAPI_DATATYPE_CHAR: |
| 114 | return eleToString(e); |
| 115 | case BLPAPI_DATATYPE_BYTE: |
| 116 | return R_NilValue; |
| 117 | case BLPAPI_DATATYPE_INT32: |
| 118 | return eleToInt(e); |
| 119 | case BLPAPI_DATATYPE_INT64: |
| 120 | return R_NilValue; |
| 121 | case BLPAPI_DATATYPE_FLOAT32: |
| 122 | case BLPAPI_DATATYPE_FLOAT64: |
| 123 | return eleToDouble(e); |
| 124 | case BLPAPI_DATATYPE_STRING: |
| 125 | return eleToString(e); |
| 126 | case BLPAPI_DATATYPE_BYTEARRAY: |
| 127 | return R_NilValue; |
| 128 | case BLPAPI_DATATYPE_DATE: |
| 129 | return eleToDate(e); |
| 130 | case BLPAPI_DATATYPE_TIME: |
| 131 | return eleToString(e); |
| 132 | case BLPAPI_DATATYPE_DECIMAL: |
| 133 | return eleToDouble(e); |
| 134 | case BLPAPI_DATATYPE_DATETIME: |
| 135 | return eleToDatetime(e); |
| 136 | case BLPAPI_DATATYPE_ENUMERATION: |
| 137 | return eleToString(e); |
| 138 | case BLPAPI_DATATYPE_SEQUENCE: |
| 139 | return eleToString(e); |
| 140 | case BLPAPI_DATATYPE_CHOICE: |
| 141 | return eleToString(e); |
| 142 | case BLPAPI_DATATYPE_CORRELATION_ID: |
| 143 | return eleToString(e); |
| 144 | default: |
| 145 | return R_NilValue; |
| 146 | } |
| 147 | } |
| 148 | |
| 149 | SEXP recursiveParse(const Element& e) { |
| 150 | if(e.numElements()) { |
no test coverage detected