A->framwork:make vga and hdmi switch function

This commit is contained in:
Firefly
2015-08-20 15:20:45 +08:00
parent 0f8a6b390e
commit ded6e6f7c7
4 changed files with 108 additions and 0 deletions

View File

@ -927,6 +927,9 @@ void DisplayManager::getModeList(SocketClient *cli, int display, char* iface) {
void DisplayManager::getCurMode(SocketClient *cli, int display, char* iface) {
struct displaynode *head, *node;
FILE *fd = NULL;
int modelen;
char buf[BUFFER_LENGTH];
int type = string2type(iface);
if(display == MAIN_DISPLAY)
@ -943,6 +946,31 @@ void DisplayManager::getCurMode(SocketClient *cli, int display, char* iface) {
cli->sendMsg(ResponseCode::CommandParameterError, "Missing iface", false);
return;
}
if(strlen(node->mode)) {
//ALOGD("[%s] %s %s %s %d %d", __FUNCTION__, node->path, node->mode, node->name,strlen(node->name),strcmp(node->name,"firefly_vga"));
if(strcmp(node->name,"firefly_vga") == 0) {
// Read modelist;
memset(buf, 0, BUFFER_LENGTH);
strcpy(buf, node->path);
strcat(buf, "/mode");
fd = fopen(buf, "r");
memset(buf, 0, BUFFER_LENGTH);
if(fgets(buf, BUFFER_LENGTH, fd) != NULL)
{
modelen = strlen(buf);
if(modelen)
{
ALOGD("%s", buf);
buf[modelen -1] = 0;
memset(node->mode, 0, MODE_LENGTH);
memcpy(node->mode, buf, modelen -1);
}
}
fclose(fd);
}
}
// if(!strlen(node->mode)) {
operateIfaceMode(node, DISPLAY_OPERATE_READ, node->mode);