WIP of header generation
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8728 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
502f746720
commit
0a05ee797d
@ -693,6 +693,30 @@ Keymap::Save(entry_ref &ref)
|
||||
}
|
||||
|
||||
|
||||
const char header_header[] =
|
||||
"/*\tHaiku \t*/"
|
||||
"/*\n"
|
||||
" This file is generated automatically. Don't edit ! \n"
|
||||
"*/\n";
|
||||
|
||||
|
||||
|
||||
void
|
||||
Keymap::SaveAsHeader(entry_ref &ref)
|
||||
{
|
||||
status_t err;
|
||||
|
||||
BFile file(&ref, B_WRITE_ONLY | B_CREATE_FILE | B_ERASE_FILE );
|
||||
if ((err = file.InitCheck()) != B_OK) {
|
||||
printf("error %s\n", strerror(err));
|
||||
return;
|
||||
}
|
||||
|
||||
file.Write(header_header, strlen(header_header));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* we need to know if a key is a modifier key to choose
|
||||
a valid key when several are pressed together
|
||||
*/
|
||||
|
@ -29,6 +29,7 @@ public:
|
||||
status_t LoadSource(FILE *f);
|
||||
status_t LoadSourceFromRef(entry_ref &ref);
|
||||
void SaveAsCurrent();
|
||||
void SaveAsHeader(entry_ref &ref);
|
||||
status_t Use();
|
||||
void Dump();
|
||||
bool IsModifierKey(uint32 keyCode);
|
||||
|
@ -26,6 +26,7 @@ static void usage(char *prog)
|
||||
" -l # load key map from standard input\n"
|
||||
" -r # restore system default key map\n"
|
||||
" -c # compile source keymap to binary\n"
|
||||
" -h # compile source keymap to header\n"
|
||||
" -o # change output file to output_file (default:keymap.out)\n"
|
||||
, prog);
|
||||
}
|
||||
@ -70,7 +71,15 @@ int main(int argc, char **argv)
|
||||
|
||||
keymap.Save(output_ref);
|
||||
return 0;
|
||||
} else
|
||||
} else if (operation == 'h') {
|
||||
entry_ref ref;
|
||||
get_ref_for_path(argv[i], &ref);
|
||||
Keymap keymap;
|
||||
keymap.LoadSourceFromRef(ref);
|
||||
|
||||
keymap.SaveAsHeader(output_ref);
|
||||
return 0;
|
||||
} else
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user