LibPDL Research

From WebOS Internals
Jump to navigation Jump to search

This is probably not complete. Discovered using trial and error with gdb and objdump

// Orientation: 0=bottom, 1= right, 2=top, 3=left
// Note: this controls the notification popup location, it does not flip location 0,0
int PDL_SetOrientation(int Orientation);

// portnum is number of port, enabled is 0 or 1
int PDL_SetFirewallPortStatus(int portnum, int enabled);

// note: something needs to be larger than 63, not sure what it controls right now
// sizeofbuffer >= 63
int PDL_GetUniqueID(char * buffer, int sizeofbuffer);

//sets buffer to device name, returns 0 on success...
int PDL_GetDeviceName(char * buffer, int sizeofbuffer);

//Opens web browser and points it to url
int PDL_LaunchBrowser(char * url);

//Opens an email pre-populated with subject and text
int PDL_LaunchEmail(char * subject, char * text);

//fills buffer with language string (example: en_US)
int PDL_GetLanguage(char * buffer, int sizeofbuffer);

//Sends {'appName': 'com.palm.pdl', 'isPlaying': %s} where %s is true or false to luna://com.palm.mediaevents/notifyPlayingStatusChange
//true=1, false=0
int PDL_NotifyMusicPlaying(int enable);

//Cleans things up, haven't fully traced everything it's doing yet
int PDL_Quit();

//Cleans things up, haven't fully traced everything it's doing yet
int PDL_LSCall(char * arg1, char * arg2);

//The Following are WebOS hooks in SDL, I'm not sure exactly what they control or where yet, it's just passed directly to SDL

//Enables/Disables Screen Timeouts
int PDL_ScreenTimeoutEnable(int enable);

//Enables/Disables Notifications
void PDL_BannerMessagesEnable(int enable);

//Enables/Disables Custom Pause UI
void PDL_CustomPauseUiEnable(int enable);

// I think most of the keys are passed to SDL_GetKeyName, but the following are PDL specific?
// 229 = gesture forward
// 231 = gesture area
// 27 = gesture back
char * PDL_GetKeyName(int key);