Home | History | Annotate | Download | only in PROFILER
      1 #include "test/vts/specification/hal/Nfc.vts.h"
      2 
      3 using namespace android::hardware::nfc::V1_0;
      4 using namespace android::hardware;
      5 
      6 #define TRACEFILEPREFIX "/data/local/tmp"
      7 
      8 namespace android {
      9 namespace vts {
     10 
     11 void HIDL_INSTRUMENTATION_FUNCTION_android_hardware_nfc_V1_0_INfc(
     12         details::HidlInstrumentor::InstrumentationEvent event,
     13         const char* package,
     14         const char* version,
     15         const char* interface,
     16         const char* method,
     17         std::vector<void *> *args) {
     18     if (strcmp(package, "android.hardware.nfc") != 0) {
     19         LOG(WARNING) << "incorrect package.";
     20         return;
     21     }
     22     if (strcmp(version, "1.0") != 0) {
     23         LOG(WARNING) << "incorrect version.";
     24         return;
     25     }
     26     if (strcmp(interface, "INfc") != 0) {
     27         LOG(WARNING) << "incorrect interface.";
     28         return;
     29     }
     30 
     31     char trace_file[PATH_MAX];
     32     sprintf(trace_file, "%s/%s_%s", TRACEFILEPREFIX, package, version);
     33     VtsProfilingInterface& profiler = VtsProfilingInterface::getInstance(trace_file);
     34     profiler.Init();
     35 
     36     if (strcmp(method, "open") == 0) {
     37         FunctionSpecificationMessage msg;
     38         msg.set_name("open");
     39         if (!args) {
     40             LOG(WARNING) << "no argument passed";
     41         } else {
     42             switch (event) {
     43                 case details::HidlInstrumentor::CLIENT_API_ENTRY:
     44                 case details::HidlInstrumentor::SERVER_API_ENTRY:
     45                 case details::HidlInstrumentor::PASSTHROUGH_ENTRY:
     46                 {
     47                     if ((*args).size() != 1) {
     48                         LOG(ERROR) << "Number of arguments does not match. expect: 1, actual: " << (*args).size() << ", method name: open, event type: " << event;
     49                         break;
     50                     }
     51                     auto *arg_0 = msg.add_arg();
     52                     sp<::android::hardware::nfc::V1_0::INfcClientCallback> *arg_val_0 = reinterpret_cast<sp<::android::hardware::nfc::V1_0::INfcClientCallback>*> ((*args)[0]);
     53                     arg_0->set_type(TYPE_HIDL_CALLBACK);
     54                     break;
     55                 }
     56                 case details::HidlInstrumentor::CLIENT_API_EXIT:
     57                 case details::HidlInstrumentor::SERVER_API_EXIT:
     58                 case details::HidlInstrumentor::PASSTHROUGH_EXIT:
     59                 {
     60                     if ((*args).size() != 1) {
     61                         LOG(ERROR) << "Number of return values does not match. expect: 1, actual: " << (*args).size() << ", method name: open, event type: " << event;
     62                         break;
     63                     }
     64                     auto *result_0 = msg.add_return_type_hidl();
     65                     ::android::hardware::nfc::V1_0::NfcStatus *result_val_0 = reinterpret_cast<::android::hardware::nfc::V1_0::NfcStatus*> ((*args)[0]);
     66                     result_0->set_type(TYPE_ENUM);
     67                     profile____android__hardware__nfc__V1_0__NfcStatus(result_0, (*result_val_0));
     68                     break;
     69                 }
     70                 default:
     71                 {
     72                     LOG(WARNING) << "not supported. ";
     73                     break;
     74                 }
     75             }
     76         }
     77         profiler.AddTraceEvent(event, package, version, interface, msg);
     78     }
     79     if (strcmp(method, "write") == 0) {
     80         FunctionSpecificationMessage msg;
     81         msg.set_name("write");
     82         if (!args) {
     83             LOG(WARNING) << "no argument passed";
     84         } else {
     85             switch (event) {
     86                 case details::HidlInstrumentor::CLIENT_API_ENTRY:
     87                 case details::HidlInstrumentor::SERVER_API_ENTRY:
     88                 case details::HidlInstrumentor::PASSTHROUGH_ENTRY:
     89                 {
     90                     if ((*args).size() != 1) {
     91                         LOG(ERROR) << "Number of arguments does not match. expect: 1, actual: " << (*args).size() << ", method name: write, event type: " << event;
     92                         break;
     93                     }
     94                     auto *arg_0 = msg.add_arg();
     95                     ::android::hardware::hidl_vec<uint8_t> *arg_val_0 = reinterpret_cast<::android::hardware::hidl_vec<uint8_t>*> ((*args)[0]);
     96                     arg_0->set_type(TYPE_VECTOR);
     97                     arg_0->set_vector_size((*arg_val_0).size());
     98                     for (int i = 0; i < (int)(*arg_val_0).size(); i++) {
     99                         auto *arg_0_vector_i = arg_0->add_vector_value();
    100                         arg_0_vector_i->set_type(TYPE_SCALAR);
    101                         arg_0_vector_i->mutable_scalar_value()->set_uint8_t((*arg_val_0)[i]);
    102                     }
    103                     break;
    104                 }
    105                 case details::HidlInstrumentor::CLIENT_API_EXIT:
    106                 case details::HidlInstrumentor::SERVER_API_EXIT:
    107                 case details::HidlInstrumentor::PASSTHROUGH_EXIT:
    108                 {
    109                     if ((*args).size() != 1) {
    110                         LOG(ERROR) << "Number of return values does not match. expect: 1, actual: " << (*args).size() << ", method name: write, event type: " << event;
    111                         break;
    112                     }
    113                     auto *result_0 = msg.add_return_type_hidl();
    114                     uint32_t *result_val_0 = reinterpret_cast<uint32_t*> ((*args)[0]);
    115                     result_0->set_type(TYPE_SCALAR);
    116                     result_0->mutable_scalar_value()->set_uint32_t((*result_val_0));
    117                     break;
    118                 }
    119                 default:
    120                 {
    121                     LOG(WARNING) << "not supported. ";
    122                     break;
    123                 }
    124             }
    125         }
    126         profiler.AddTraceEvent(event, package, version, interface, msg);
    127     }
    128     if (strcmp(method, "coreInitialized") == 0) {
    129         FunctionSpecificationMessage msg;
    130         msg.set_name("coreInitialized");
    131         if (!args) {
    132             LOG(WARNING) << "no argument passed";
    133         } else {
    134             switch (event) {
    135                 case details::HidlInstrumentor::CLIENT_API_ENTRY:
    136                 case details::HidlInstrumentor::SERVER_API_ENTRY:
    137                 case details::HidlInstrumentor::PASSTHROUGH_ENTRY:
    138                 {
    139                     if ((*args).size() != 1) {
    140                         LOG(ERROR) << "Number of arguments does not match. expect: 1, actual: " << (*args).size() << ", method name: coreInitialized, event type: " << event;
    141                         break;
    142                     }
    143                     auto *arg_0 = msg.add_arg();
    144                     ::android::hardware::hidl_vec<uint8_t> *arg_val_0 = reinterpret_cast<::android::hardware::hidl_vec<uint8_t>*> ((*args)[0]);
    145                     arg_0->set_type(TYPE_VECTOR);
    146                     arg_0->set_vector_size((*arg_val_0).size());
    147                     for (int i = 0; i < (int)(*arg_val_0).size(); i++) {
    148                         auto *arg_0_vector_i = arg_0->add_vector_value();
    149                         arg_0_vector_i->set_type(TYPE_SCALAR);
    150                         arg_0_vector_i->mutable_scalar_value()->set_uint8_t((*arg_val_0)[i]);
    151                     }
    152                     break;
    153                 }
    154                 case details::HidlInstrumentor::CLIENT_API_EXIT:
    155                 case details::HidlInstrumentor::SERVER_API_EXIT:
    156                 case details::HidlInstrumentor::PASSTHROUGH_EXIT:
    157                 {
    158                     if ((*args).size() != 1) {
    159                         LOG(ERROR) << "Number of return values does not match. expect: 1, actual: " << (*args).size() << ", method name: coreInitialized, event type: " << event;
    160                         break;
    161                     }
    162                     auto *result_0 = msg.add_return_type_hidl();
    163                     ::android::hardware::nfc::V1_0::NfcStatus *result_val_0 = reinterpret_cast<::android::hardware::nfc::V1_0::NfcStatus*> ((*args)[0]);
    164                     result_0->set_type(TYPE_ENUM);
    165                     profile____android__hardware__nfc__V1_0__NfcStatus(result_0, (*result_val_0));
    166                     break;
    167                 }
    168                 default:
    169                 {
    170                     LOG(WARNING) << "not supported. ";
    171                     break;
    172                 }
    173             }
    174         }
    175         profiler.AddTraceEvent(event, package, version, interface, msg);
    176     }
    177     if (strcmp(method, "prediscover") == 0) {
    178         FunctionSpecificationMessage msg;
    179         msg.set_name("prediscover");
    180         if (!args) {
    181             LOG(WARNING) << "no argument passed";
    182         } else {
    183             switch (event) {
    184                 case details::HidlInstrumentor::CLIENT_API_ENTRY:
    185                 case details::HidlInstrumentor::SERVER_API_ENTRY:
    186                 case details::HidlInstrumentor::PASSTHROUGH_ENTRY:
    187                 {
    188                     if ((*args).size() != 0) {
    189                         LOG(ERROR) << "Number of arguments does not match. expect: 0, actual: " << (*args).size() << ", method name: prediscover, event type: " << event;
    190                         break;
    191                     }
    192                     break;
    193                 }
    194                 case details::HidlInstrumentor::CLIENT_API_EXIT:
    195                 case details::HidlInstrumentor::SERVER_API_EXIT:
    196                 case details::HidlInstrumentor::PASSTHROUGH_EXIT:
    197                 {
    198                     if ((*args).size() != 1) {
    199                         LOG(ERROR) << "Number of return values does not match. expect: 1, actual: " << (*args).size() << ", method name: prediscover, event type: " << event;
    200                         break;
    201                     }
    202                     auto *result_0 = msg.add_return_type_hidl();
    203                     ::android::hardware::nfc::V1_0::NfcStatus *result_val_0 = reinterpret_cast<::android::hardware::nfc::V1_0::NfcStatus*> ((*args)[0]);
    204                     result_0->set_type(TYPE_ENUM);
    205                     profile____android__hardware__nfc__V1_0__NfcStatus(result_0, (*result_val_0));
    206                     break;
    207                 }
    208                 default:
    209                 {
    210                     LOG(WARNING) << "not supported. ";
    211                     break;
    212                 }
    213             }
    214         }
    215         profiler.AddTraceEvent(event, package, version, interface, msg);
    216     }
    217     if (strcmp(method, "close") == 0) {
    218         FunctionSpecificationMessage msg;
    219         msg.set_name("close");
    220         if (!args) {
    221             LOG(WARNING) << "no argument passed";
    222         } else {
    223             switch (event) {
    224                 case details::HidlInstrumentor::CLIENT_API_ENTRY:
    225                 case details::HidlInstrumentor::SERVER_API_ENTRY:
    226                 case details::HidlInstrumentor::PASSTHROUGH_ENTRY:
    227                 {
    228                     if ((*args).size() != 0) {
    229                         LOG(ERROR) << "Number of arguments does not match. expect: 0, actual: " << (*args).size() << ", method name: close, event type: " << event;
    230                         break;
    231                     }
    232                     break;
    233                 }
    234                 case details::HidlInstrumentor::CLIENT_API_EXIT:
    235                 case details::HidlInstrumentor::SERVER_API_EXIT:
    236                 case details::HidlInstrumentor::PASSTHROUGH_EXIT:
    237                 {
    238                     if ((*args).size() != 1) {
    239                         LOG(ERROR) << "Number of return values does not match. expect: 1, actual: " << (*args).size() << ", method name: close, event type: " << event;
    240                         break;
    241                     }
    242                     auto *result_0 = msg.add_return_type_hidl();
    243                     ::android::hardware::nfc::V1_0::NfcStatus *result_val_0 = reinterpret_cast<::android::hardware::nfc::V1_0::NfcStatus*> ((*args)[0]);
    244                     result_0->set_type(TYPE_ENUM);
    245                     profile____android__hardware__nfc__V1_0__NfcStatus(result_0, (*result_val_0));
    246                     break;
    247                 }
    248                 default:
    249                 {
    250                     LOG(WARNING) << "not supported. ";
    251                     break;
    252                 }
    253             }
    254         }
    255         profiler.AddTraceEvent(event, package, version, interface, msg);
    256     }
    257     if (strcmp(method, "controlGranted") == 0) {
    258         FunctionSpecificationMessage msg;
    259         msg.set_name("controlGranted");
    260         if (!args) {
    261             LOG(WARNING) << "no argument passed";
    262         } else {
    263             switch (event) {
    264                 case details::HidlInstrumentor::CLIENT_API_ENTRY:
    265                 case details::HidlInstrumentor::SERVER_API_ENTRY:
    266                 case details::HidlInstrumentor::PASSTHROUGH_ENTRY:
    267                 {
    268                     if ((*args).size() != 0) {
    269                         LOG(ERROR) << "Number of arguments does not match. expect: 0, actual: " << (*args).size() << ", method name: controlGranted, event type: " << event;
    270                         break;
    271                     }
    272                     break;
    273                 }
    274                 case details::HidlInstrumentor::CLIENT_API_EXIT:
    275                 case details::HidlInstrumentor::SERVER_API_EXIT:
    276                 case details::HidlInstrumentor::PASSTHROUGH_EXIT:
    277                 {
    278                     if ((*args).size() != 1) {
    279                         LOG(ERROR) << "Number of return values does not match. expect: 1, actual: " << (*args).size() << ", method name: controlGranted, event type: " << event;
    280                         break;
    281                     }
    282                     auto *result_0 = msg.add_return_type_hidl();
    283                     ::android::hardware::nfc::V1_0::NfcStatus *result_val_0 = reinterpret_cast<::android::hardware::nfc::V1_0::NfcStatus*> ((*args)[0]);
    284                     result_0->set_type(TYPE_ENUM);
    285                     profile____android__hardware__nfc__V1_0__NfcStatus(result_0, (*result_val_0));
    286                     break;
    287                 }
    288                 default:
    289                 {
    290                     LOG(WARNING) << "not supported. ";
    291                     break;
    292                 }
    293             }
    294         }
    295         profiler.AddTraceEvent(event, package, version, interface, msg);
    296     }
    297     if (strcmp(method, "powerCycle") == 0) {
    298         FunctionSpecificationMessage msg;
    299         msg.set_name("powerCycle");
    300         if (!args) {
    301             LOG(WARNING) << "no argument passed";
    302         } else {
    303             switch (event) {
    304                 case details::HidlInstrumentor::CLIENT_API_ENTRY:
    305                 case details::HidlInstrumentor::SERVER_API_ENTRY:
    306                 case details::HidlInstrumentor::PASSTHROUGH_ENTRY:
    307                 {
    308                     if ((*args).size() != 0) {
    309                         LOG(ERROR) << "Number of arguments does not match. expect: 0, actual: " << (*args).size() << ", method name: powerCycle, event type: " << event;
    310                         break;
    311                     }
    312                     break;
    313                 }
    314                 case details::HidlInstrumentor::CLIENT_API_EXIT:
    315                 case details::HidlInstrumentor::SERVER_API_EXIT:
    316                 case details::HidlInstrumentor::PASSTHROUGH_EXIT:
    317                 {
    318                     if ((*args).size() != 1) {
    319                         LOG(ERROR) << "Number of return values does not match. expect: 1, actual: " << (*args).size() << ", method name: powerCycle, event type: " << event;
    320                         break;
    321                     }
    322                     auto *result_0 = msg.add_return_type_hidl();
    323                     ::android::hardware::nfc::V1_0::NfcStatus *result_val_0 = reinterpret_cast<::android::hardware::nfc::V1_0::NfcStatus*> ((*args)[0]);
    324                     result_0->set_type(TYPE_ENUM);
    325                     profile____android__hardware__nfc__V1_0__NfcStatus(result_0, (*result_val_0));
    326                     break;
    327                 }
    328                 default:
    329                 {
    330                     LOG(WARNING) << "not supported. ";
    331                     break;
    332                 }
    333             }
    334         }
    335         profiler.AddTraceEvent(event, package, version, interface, msg);
    336     }
    337 }
    338 
    339 }  // namespace vts
    340 }  // namespace android
    341