You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.4 KiB

/*
* Copyright (c) Hisilicon Technologies Co., Ltd. 2020-2022. All rights reserved.
* Description: android ir options interface
* Author: App-Dev Group
* Create: 2020-07-02
*/
#ifndef ANDROID_OPTIONS_H
#define ANDROID_OPTIONS_H
#include <vector>
#include <memory>
#include "AndroidIrInterface.h"
namespace android {
class Options {
public:
std::unique_ptr<AndroidIrInterface> androidIrInterface = std::make_unique<AndroidIrInterface>();
bool debugIrEnable = false;
int CheckParams() const;
int CheckParamsSet() const;
void Usage(const char& base) const;
int ProcessOptions(int argc, char *argv[]);
private:
std::vector<std::string> gProtNames = {
"nec full 2headers",
"nec simple 2headers changshu",
"nec simple uPD6121G like",
"nec simple LC7461MCL13 like",
"nec full dezhou like",
"nec full huizhou like",
"nec simple 2headers gd",
"credit",
"sony d7c5",
"sony d7c8",
"tc9012",
"rc6 32bit data",
"rc6 20bit data",
"rc6 16bit data",
"rc5 14bit data",
"extended rc5 14bit"
};
int gDebugEnable = 0;
int gMode = 0;
int gModeSet = 0;
int gKeyupEvent = 0;
int gKeyupEventSet = 0;
unsigned int gKeyupTimeout = 0;
unsigned int gKeyupTimeoutSet = 0;
int gRepeatEvent = 0;
int gRepeatEventSet = 0;
unsigned int gRepeatInterval = 0;
unsigned int gRepeatIntervalSet = 0;
unsigned int gReadTimeout = 200; // 200ms
int gIrEnable = 0;
int gIrEnableSet = 0;
int gProtStatus = 0;
std::string gProtName = "";
int gProtNameSet = 0;
int gProtEnable = 0;
int gProtEnableSet = 0;
int ProcessOptionsDefault(int op, char *argv[]);
void SetRepeatInterval();
void SetRepeatEvent();
void SetTimeOut();
void SetMode();
int SetProtE();
int SetProtEnable();
int GetProtList() const;
int GetProtStatus();
void SetIrEnable();
int IrSampleSetProtEnable() const;
int IrGetProtStatus(std::string prot) const;
};
}
#endif // ANDROID_OPTIONS_H