:= operator mods. entry_ref and app_info changes.

This commit is contained in:
oscarl-2
2003-12-20 03:16:54 +00:00
parent 96dd081155
commit 337fbe9499
3 changed files with 475 additions and 521 deletions

View File

@@ -1,5 +1,6 @@
{ BePascal - A pascal wrapper around the BeOS API { BePascal - A pascal wrapper around the BeOS API
Copyright (C) 2002 Olivier Coursiere Copyright (C) 2002 - 2003 Olivier Coursiere
Oscar Lesta
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public modify it under the terms of the GNU Library General Public
@@ -15,362 +16,289 @@
License along with this library; if not, write to the Free License along with this library; if not, write to the Free
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
} }
unit AppDefs2;
unit appdefs;
interface interface
const const
// System Messages Codes // System Messages Codes
_B_ABOUT_REQUESTED : array[0..3] of Char = ('_', 'A', 'B', 'R'); _B_ABOUT_REQUESTED = '_ABR';
_B_WINDOW_ACTIVATED : array[0..3] of Char = ('_', 'A', 'C', 'T'); _B_WINDOW_ACTIVATED = '_ACT';
_B_APP_ACTIVATED : array[0..3] of Char = ('_', 'A', 'C', 'T'); //* Same as B_WINDOW_ACTIVATED */ _B_APP_ACTIVATED = '_ACT'; // Same as B_WINDOW_ACTIVATED
_B_ARGV_RECEIVED : array[0..3] of Char = ('_', 'A', 'R', 'G'); _B_ARGV_RECEIVED = '_ARG';
_B_QUIT_REQUESTED : array[0..3] of Char = ('_', 'Q', 'R', 'Q'); _B_QUIT_REQUESTED = '_QRQ';
_B_CLOSE_REQUESTED : array[0..3] of Char = ('_', 'Q', 'R', 'Q'); //* Obsolete; use B_QUIT_REQUESTED */ _B_CLOSE_REQUESTED = '_QRQ'; // Obsolete; use B_QUIT_REQUESTED
_B_CANCEL : array[0..3] of Char = ('_', 'C', 'N', 'C'); _B_CANCEL = '_CNC';
_B_KEY_DOWN : array[0..3] of Char = ('_', 'K', 'Y', 'D'); _B_KEY_DOWN = '_KYD';
_B_KEY_UP : array[0..3] of Char = ('_', 'K', 'Y', 'U'); _B_KEY_UP = '_KYU';
_B_UNMAPPED_KEY_DOWN : array[0..3] of Char = ('_', 'U', 'K', 'D'); _B_UNMAPPED_KEY_DOWN = '_UKD';
_B_UNMAPPED_KEY_UP : array[0..3] of Char = ('_', 'U', 'K', 'U'); _B_UNMAPPED_KEY_UP = '_UKU';
_B_MODIFIERS_CHANGED : array[0..3] of Char = ('_', 'M', 'C', 'H'); _B_MODIFIERS_CHANGED = '_MCH';
_B_MINIMIZE : array[0..3] of Char = ('_', 'W', 'M', 'N'); _B_MINIMIZE = '_WMN';
_B_MOUSE_DOWN : array[0..3] of Char = ('_', 'M', 'D', 'N'); _B_MOUSE_DOWN = '_MDN';
_B_MOUSE_MOVED : array[0..3] of Char = ('_', 'M', 'M', 'V'); _B_MOUSE_MOVED = '_MMV';
_B_MOUSE_ENTER_EXIT : array[0..3] of Char = ('_', 'M', 'E', 'X'); _B_MOUSE_ENTER_EXIT = '_MEX';
_B_MOUSE_UP : array[0..3] of Char = ('_', 'M', 'U', 'P'); _B_MOUSE_UP = '_MUP';
_B_MOUSE_WHEEL_CHANGED : array[0..3] of Char = ('_', 'M', 'W', 'C'); _B_MOUSE_WHEEL_CHANGED = '_MWC';
_B_OPEN_IN_WORKSPACE : array[0..3] of Char = ('_', 'O', 'W', 'S'); _B_OPEN_IN_WORKSPACE = '_OWS';
_B_PRINTER_CHANGED : array[0..3] of Char = ('_', 'P', 'C', 'H'); _B_PRINTER_CHANGED = '_PCH';
_B_PULSE : array[0..3] of Char = ('_', 'P', 'U', 'L'); _B_PULSE = '_PUL';
_B_READY_TO_RUN : array[0..3] of Char = ('_', 'R', 'T', 'R'); _B_READY_TO_RUN = '_RTR';
_B_REFS_RECEIVED : array[0..3] of Char = ('_', 'R', 'R', 'C'); _B_REFS_RECEIVED = '_RRC';
_B_RELEASE_OVERLAY_LOCK : array[0..3] of Char = ('_', 'R', 'O', 'V'); _B_RELEASE_OVERLAY_LOCK = '_ROV';
_B_ACQUIRE_OVERLAY_LOCK : array[0..3] of Char = ('_', 'A', 'O', 'V'); _B_ACQUIRE_OVERLAY_LOCK = '_AOV';
_B_SCREEN_CHANGED : array[0..3] of Char = ('_', 'S', 'C', 'H'); _B_SCREEN_CHANGED = '_SCH';
_B_VALUE_CHANGED : array[0..3] of Char = ('_', 'V', 'C', 'H'); _B_VALUE_CHANGED = '_VCH';
_B_VIEW_MOVED : array[0..3] of Char = ('_', 'V', 'M', 'V'); _B_VIEW_MOVED = '_VMV';
_B_VIEW_RESIZED : array[0..3] of Char = ('_', 'V', 'R', 'S'); _B_VIEW_RESIZED = '_VRS';
_B_WINDOW_MOVED : array[0..3] of Char = ('_', 'W', 'M', 'V'); _B_WINDOW_MOVED = '_WMV';
_B_WINDOW_RESIZED : array[0..3] of Char = ('_', 'W', 'R', 'S'); _B_WINDOW_RESIZED = '_WRS';
_B_WORKSPACES_CHANGED : array[0..3] of Char = ('_', 'W', 'C', 'G'); _B_WORKSPACES_CHANGED = '_WCG';
_B_WORKSPACE_ACTIVATED : array[0..3] of Char = ('_', 'W', 'A', 'C'); _B_WORKSPACE_ACTIVATED = '_WAC';
_B_ZOOM : array[0..3] of Char = ('_', 'W', 'Z', 'M'); _B_ZOOM = '_WZM';
__APP_MENU_ : array[0..3] of Char = ('_', 'A', 'M', 'N'); __APP_MENU_ = '_AMN';
__BROWSER_MENUS_ : array[0..3] of Char = ('_', 'B', 'R', 'M'); __BROWSER_MENUS_ = '_BRM';
__MENU_EVENT_ : array[0..3] of Char = ('_', 'M', 'E', 'V'); __MENU_EVENT_ = '_MEV';
__PING_ : array[0..3] of Char = ('_', 'P', 'B', 'L'); __PING_ = '_PBL';
__QUIT_ : array[0..3] of Char = ('_', 'Q', 'I', 'T'); __QUIT_ = '_QIT';
__VOLUME_MOUNTED_ : array[0..3] of Char = ('_', 'N', 'V', 'L'); __VOLUME_MOUNTED_ = '_NVL';
__VOLUME_UNMOUNTED_ : array[0..3] of Char = ('_', 'V', 'R', 'M'); __VOLUME_UNMOUNTED_ = '_VRM';
__MESSAGE_DROPPED_ : array[0..3] of Char = ('_', 'M', 'D', 'P'); __MESSAGE_DROPPED_ = '_MDP';
__DISPOSE_DRAG_ : array[0..3] of Char = ('_', 'D', 'P', 'D'); __DISPOSE_DRAG_ = '_DPD';
__MENUS_DONE_ : array[0..3] of Char = ('_', 'M', 'N', 'D'); __MENUS_DONE_ = '_MND';
__SHOW_DRAG_HANDLES_ : array[0..3] of Char = ('_', 'S', 'D', 'H'); __SHOW_DRAG_HANDLES_ = '_SDH';
__EVENTS_PENDING_ : array[0..3] of Char = ('_', 'E', 'V', 'P'); __EVENTS_PENDING_ = '_EVP';
__UPDATE_ : array[0..3] of Char = ('_', 'U', 'P', 'D'); __UPDATE_ = '_UPD';
__UPDATE_IF_NEEDED_ : array[0..3] of Char = ('_', 'U', 'P', 'N'); __UPDATE_IF_NEEDED_ = '_UPN';
__PRINTER_INFO_ : array[0..3] of Char = ('_', 'P', 'I', 'N'); __PRINTER_INFO_ = '_PIN';
__SETUP_PRINTER_ : array[0..3] of Char = ('_', 'S', 'U', 'P'); __SETUP_PRINTER_ = '_SUP';
__SELECT_PRINTER_ : array[0..3] of Char = ('_', 'P', 'S', 'L'); __SELECT_PRINTER_ = '_PSL';
// Other Commands // Other Commands
_B_SET_PROPERTY : array[0..3] of Char = ('P', 'S', 'E', 'T'); _B_SET_PROPERTY = 'PSET';
_B_GET_PROPERTY : array[0..3] of Char = ('P', 'G', 'E', 'T'); _B_GET_PROPERTY = 'PGET';
_B_CREATE_PROPERTY : array[0..3] of Char = ('P', 'C', 'R', 'T'); _B_CREATE_PROPERTY = 'PCRT';
_B_DELETE_PROPERTY : array[0..3] of Char = ('P', 'D', 'E', 'L'); _B_DELETE_PROPERTY = 'PDEL';
_B_COUNT_PROPERTIES : array[0..3] of Char = ('P', 'C', 'N', 'T'); _B_COUNT_PROPERTIES = 'PCNT';
_B_EXECUTE_PROPERTY : array[0..3] of Char = ('P', 'E', 'X', 'E'); _B_EXECUTE_PROPERTY = 'PEXE';
_B_GET_SUPPORTED_SUITES : array[0..3] of Char = ('S', 'U', 'I', 'T'); _B_GET_SUPPORTED_SUITES = 'SUIT';
_B_UNDO : array[0..3] of Char = ('U', 'N', 'D', 'O'); _B_UNDO = 'UNDO';
_B_CUT : array[0..3] of Char = ('C', 'C', 'U', 'T'); _B_CUT = 'CCUT';
_B_COPY : array[0..3] of Char = ('C', 'O', 'P', 'Y'); _B_COPY = 'COPY';
_B_PASTE : array[0..3] of Char = ('P', 'S', 'T', 'E'); _B_PASTE = 'PSTE';
_B_SELECT_ALL : array[0..3] of Char = ('S', 'A', 'L', 'L'); _B_SELECT_ALL = 'SALL';
_B_SAVE_REQUESTED : array[0..3] of Char = ('S', 'A', 'V', 'E'); _B_SAVE_REQUESTED = 'SAVE';
_B_MESSAGE_NOT_UNDERSTOOD : array[0..3] of Char = ('M', 'N', 'O', 'T'); _B_MESSAGE_NOT_UNDERSTOOD = 'MNOT';
_B_NO_REPLY : array[0..3] of Char = ('N', 'O', 'N', 'E'); _B_NO_REPLY = 'NONE';
_B_REPLY : array[0..3] of Char = ('R', 'P', 'L', 'Y'); _B_REPLY = 'RPLY';
_B_SIMPLE_DATA : array[0..3] of Char = ('D', 'A', 'T', 'A'); _B_SIMPLE_DATA = 'DATA';
_B_MIME_DATA : array[0..3] of Char = ('M', 'I', 'M', 'E'); _B_MIME_DATA = 'MIME';
_B_ARCHIVED_OBJECT : array[0..3] of Char = ('A', 'R', 'C', 'V'); _B_ARCHIVED_OBJECT = 'ARCV';
_B_UPDATE_STATUS_BAR : array[0..3] of Char = ('S', 'B', 'U', 'P'); _B_UPDATE_STATUS_BAR = 'SBUP';
_B_RESET_STATUS_BAR : array[0..3] of Char = ('S', 'B', 'R', 'S'); _B_RESET_STATUS_BAR = 'SBRS';
_B_NODE_MONITOR : array[0..3] of Char = ('N', 'D', 'M', 'N'); _B_NODE_MONITOR = 'NDMN';
_B_QUERY_UPDATE : array[0..3] of Char = ('Q', 'U', 'P', 'D'); _B_QUERY_UPDATE = 'QUPD';
_B_ENDORSABLE : array[0..3] of Char = ('E', 'N', 'D', 'O'); _B_ENDORSABLE = 'ENDO';
_B_COPY_TARGET : array[0..3] of Char = ('D', 'D', 'C', 'P'); _B_COPY_TARGET = 'DDCP';
_B_MOVE_TARGET : array[0..3] of Char = ('D', 'D', 'M', 'V'); _B_MOVE_TARGET = 'DDMV';
_B_TRASH_TARGET : array[0..3] of Char = ('D', 'D', 'R', 'M'); _B_TRASH_TARGET = 'DDRM';
_B_LINK_TARGET : array[0..3] of Char = ('D', 'D', 'L', 'N'); _B_LINK_TARGET = 'DDLN';
_B_INPUT_DEVICES_CHANGED : array[0..3] of Char = ('I', 'D', 'C', 'H'); _B_INPUT_DEVICES_CHANGED = 'IDCH';
_B_INPUT_METHOD_EVENT : array[0..3] of Char = ('I', 'M', 'E', 'V'); _B_INPUT_METHOD_EVENT = 'IMEV';
_B_WINDOW_MOVE_TO : array[0..3] of Char = ('W', 'D', 'M', 'T'); _B_WINDOW_MOVE_TO = 'WDMT';
_B_WINDOW_MOVE_BY : array[0..3] of Char = ('W', 'D', 'M', 'B'); _B_WINDOW_MOVE_BY = 'WDMB';
_B_SILENT_RELAUNCH : array[0..3] of Char = ('A', 'R', 'E', 'L'); _B_SILENT_RELAUNCH = 'AREL';
_B_OBSERVER_NOTICE_CHANGE : array[0..3] of Char = ('N', 'T', 'C', 'H'); _B_OBSERVER_NOTICE_CHANGE = 'NTCH';
_B_CONTROL_INVOKED : array[0..3] of Char = ('C', 'I', 'V', 'K'); _B_CONTROL_INVOKED = 'CIVK';
_B_CONTROL_MODIFIED : array[0..3] of Char = ('C', 'M', 'O', 'D'); _B_CONTROL_MODIFIED = 'CMOD';
//* Media Kit reserves all reserved codes starting in 'TRI' */ // Media Kit reserves all reserved codes starting in 'TRI'
var var
B_ABOUT_REQUESTED : Cardinal; B_ABOUT_REQUESTED,
B_WINDOW_ACTIVATED : Cardinal; B_WINDOW_ACTIVATED,
B_APP_ACTIVATED : Cardinal; B_APP_ACTIVATED,
B_ARGV_RECEIVED : Cardinal; B_ARGV_RECEIVED,
B_QUIT_REQUESTED : Cardinal; B_QUIT_REQUESTED,
B_CLOSE_REQUESTED : Cardinal; B_CLOSE_REQUESTED,
B_CANCEL : Cardinal; B_CANCEL,
B_KEY_DOWN : Cardinal; B_KEY_DOWN,
B_KEY_UP : Cardinal; B_KEY_UP,
B_UNMAPPED_KEY_DOWN : Cardinal; B_UNMAPPED_KEY_DOWN,
B_UNMAPPED_KEY_UP : Cardinal; B_UNMAPPED_KEY_UP,
B_MODIFIERS_CHANGED : Cardinal; B_MODIFIERS_CHANGED,
B_MINIMIZE : Cardinal; B_MINIMIZE,
B_MOUSE_DOWN : Cardinal; B_MOUSE_DOWN,
B_MOUSE_MOVED : Cardinal; B_MOUSE_MOVED,
B_MOUSE_ENTER_EXIT : Cardinal; B_MOUSE_ENTER_EXIT,
B_MOUSE_UP : Cardinal; B_MOUSE_UP,
B_MOUSE_WHEEL_CHANGED : Cardinal; B_MOUSE_WHEEL_CHANGED,
B_OPEN_IN_WORKSPACE : Cardinal; B_OPEN_IN_WORKSPACE,
B_PRINTER_CHANGED : Cardinal; B_PRINTER_CHANGED,
B_PULSE : Cardinal; B_PULSE,
B_READY_TO_RUN : Cardinal; B_READY_TO_RUN,
B_REFS_RECEIVED : Cardinal; B_REFS_RECEIVED,
B_RELEASE_OVERLAY_LOCK : Cardinal; B_RELEASE_OVERLAY_LOCK,
B_ACQUIRE_OVERLAY_LOCK : Cardinal; B_ACQUIRE_OVERLAY_LOCK,
B_SCREEN_CHANGED : Cardinal; B_SCREEN_CHANGED,
B_VALUE_CHANGED : Cardinal; B_VALUE_CHANGED,
B_VIEW_MOVED : Cardinal; B_VIEW_MOVED,
B_VIEW_RESIZED : Cardinal; B_VIEW_RESIZED,
B_WINDOW_MOVED : Cardinal; B_WINDOW_MOVED,
B_WINDOW_RESIZED : Cardinal; B_WINDOW_RESIZED,
B_WORKSPACES_CHANGED : Cardinal; B_WORKSPACES_CHANGED,
B_WORKSPACE_ACTIVATED : Cardinal; B_WORKSPACE_ACTIVATED,
B_ZOOM : Cardinal; B_ZOOM,
_APP_MENU_ : Cardinal; _APP_MENU_,
_BROWSER_MENUS_ : Cardinal; _BROWSER_MENUS_,
_MENU_EVENT_ : Cardinal; _MENU_EVENT_,
_PING_ : Cardinal; _PING_,
_QUIT_ : Cardinal; _QUIT_,
_VOLUME_MOUNTED_ : Cardinal; _VOLUME_MOUNTED_,
_VOLUME_UNMOUNTED_ : Cardinal; _VOLUME_UNMOUNTED_,
_MESSAGE_DROPPED_ : Cardinal; _MESSAGE_DROPPED_,
_DISPOSE_DRAG_ : Cardinal; _DISPOSE_DRAG_,
_MENUS_DONE_ : Cardinal; _MENUS_DONE_,
_SHOW_DRAG_HANDLES_ : Cardinal; _SHOW_DRAG_HANDLES_,
_EVENTS_PENDING_ : Cardinal; _EVENTS_PENDING_,
_UPDATE_ : Cardinal; _UPDATE_,
_UPDATE_IF_NEEDED_ : Cardinal; _UPDATE_IF_NEEDED_,
_PRINTER_INFO_ : Cardinal; _PRINTER_INFO_,
_SETUP_PRINTER_ : Cardinal; _SETUP_PRINTER_,
_SELECT_PRINTER_ : Cardinal; _SELECT_PRINTER_,
// Other Commands // Other Commands
B_SET_PROPERTY : Cardinal; B_SET_PROPERTY,
B_GET_PROPERTY : Cardinal; B_GET_PROPERTY,
B_CREATE_PROPERTY : Cardinal; B_CREATE_PROPERTY,
B_DELETE_PROPERTY : Cardinal; B_DELETE_PROPERTY,
B_COUNT_PROPERTIES : Cardinal; B_COUNT_PROPERTIES,
B_EXECUTE_PROPERTY : Cardinal; B_EXECUTE_PROPERTY,
B_GET_SUPPORTED_SUITES : Cardinal; B_GET_SUPPORTED_SUITES,
B_UNDO : Cardinal; B_UNDO,
B_CUT : Cardinal; B_CUT,
B_COPY : Cardinal; B_COPY,
B_PASTE : Cardinal; B_PASTE,
B_SELECT_ALL : Cardinal; B_SELECT_ALL,
B_SAVE_REQUESTED : Cardinal; B_SAVE_REQUESTED,
B_MESSAGE_NOT_UNDERSTOOD : Cardinal; B_MESSAGE_NOT_UNDERSTOOD,
B_NO_REPLY : Cardinal; B_NO_REPLY,
B_REPLY : Cardinal; B_REPLY,
B_SIMPLE_DATA : Cardinal; B_SIMPLE_DATA,
B_MIME_DATA : Cardinal; B_MIME_DATA,
B_ARCHIVED_OBJECT : Cardinal; B_ARCHIVED_OBJECT,
B_UPDATE_STATUS_BAR : Cardinal; B_UPDATE_STATUS_BAR,
B_RESET_STATUS_BAR : Cardinal; B_RESET_STATUS_BAR,
B_NODE_MONITOR : Cardinal; B_NODE_MONITOR,
B_QUERY_UPDATE : Cardinal; B_QUERY_UPDATE,
B_ENDORSABLE : Cardinal; B_ENDORSABLE,
B_COPY_TARGET : Cardinal; B_COPY_TARGET,
B_MOVE_TARGET : Cardinal; B_MOVE_TARGET,
B_TRASH_TARGET : Cardinal; B_TRASH_TARGET,
B_LINK_TARGET : Cardinal; B_LINK_TARGET,
B_INPUT_DEVICES_CHANGED : Cardinal; B_INPUT_DEVICES_CHANGED,
B_INPUT_METHOD_EVENT : Cardinal; B_INPUT_METHOD_EVENT,
B_WINDOW_MOVE_TO : Cardinal; B_WINDOW_MOVE_TO,
B_WINDOW_MOVE_BY : Cardinal; B_WINDOW_MOVE_BY,
B_SILENT_RELAUNCH : Cardinal; B_SILENT_RELAUNCH,
B_OBSERVER_NOTICE_CHANGE : Cardinal; B_OBSERVER_NOTICE_CHANGE,
B_CONTROL_INVOKED : Cardinal; B_CONTROL_INVOKED,
B_CONTROL_MODIFIED : Cardinal; B_CONTROL_MODIFIED : Longword;
function trans( S : Array of char): cardinal;
implementation implementation
FUNCTION Power(X,Y:Word):LongInt; uses
VAR Temp,Teller : LongInt; BeObj;
BEGIN
TEMP:=1;
FOR Teller:=1 TO Y DO TEMP:=TEMP*X;
Power:=Temp;
END; { Power }
FUNCTION Hex2Dec(Hex:STRING):LongInt;
VAR T1,T2,Dec : LongInt;
Error : Boolean;
BEGIN
Error:=False;
T1:=0;T2:=0;DEC:=0;
FOR T1:=1 TO LENGTH(Hex) DO
BEGIN
T2:=Length(Hex)-T1;
CASE Hex[T1] OF
'0' : DEC:=DEC+0;
'1' : DEC:=DEC+Power(16,T2);
'2' : DEC:=DEC+2*Power(16,T2);
'3' : DEC:=DEC+3*Power(16,T2);
'4' : DEC:=DEC+4*Power(16,T2);
'5' : DEC:=DEC+5*Power(16,T2);
'6' : DEC:=DEC+6*Power(16,T2);
'7' : DEC:=DEC+7*Power(16,T2);
'8' : DEC:=DEC+8*Power(16,T2);
'9' : DEC:=DEC+9*Power(16,T2);
'A','a' : DEC:=DEC+10*Power(16,T2);
'B','b' : DEC:=DEC+11*Power(16,T2);
'C','c' : DEC:=DEC+12*Power(16,T2);
'D','d' : DEC:=DEC+13*Power(16,T2);
'E','e' : DEC:=DEC+14*Power(16,T2);
'F','f' : DEC:=DEC+15*Power(16,T2);
ELSE Error:=True;
END;
END;
Hex2Dec:=Dec;
IF Error THEN Hex2Dec:=0;
END;
FUNCTION Dec2Hex(DEC:LONGINT):STRING;
VAR H1:INTEGER;
Hex,HexDigit:STRING;
BEGIN
HexDigit:='0123456789ABCDEF';
HEX:='';
REPEAT
H1:=DEC MOD 16;
DEC:=DEC DIV 16;
Hex:=CONCAT(Hexdigit[H1+1],Hex);
UNTIL DEC<1;
Dec2Hex:=Hex;
END; { Dec2Hex }
function trans( S : Array of char): cardinal;
var nd : array[0..3] of integer;
Nh :array[0..3] of string;
Hexa : string;
i : Integer;
begin
for i:=0 to 3 do nd[i]:=ord(S[i]);
for i:=0 to 3 do Nh[i]:=dec2hex(nd[i]);
hexa:=nh[0]+nh[1]+nh[2]+nh[3];
result:=hex2dec(hexa);
end;
initialization initialization
// System Messages Codes // System Messages Codes
B_ABOUT_REQUESTED := trans(_B_ABOUT_REQUESTED); B_ABOUT_REQUESTED := _B_ABOUT_REQUESTED;
B_WINDOW_ACTIVATED := trans(_B_WINDOW_ACTIVATED); B_WINDOW_ACTIVATED := _B_WINDOW_ACTIVATED;
B_APP_ACTIVATED := trans(_B_APP_ACTIVATED); B_APP_ACTIVATED := _B_APP_ACTIVATED;
B_ARGV_RECEIVED := trans(_B_ARGV_RECEIVED); B_ARGV_RECEIVED := _B_ARGV_RECEIVED;
B_QUIT_REQUESTED := trans(_B_QUIT_REQUESTED); B_QUIT_REQUESTED := _B_QUIT_REQUESTED;
B_CLOSE_REQUESTED := trans(_B_CLOSE_REQUESTED); B_CLOSE_REQUESTED := _B_CLOSE_REQUESTED;
B_CANCEL := trans(_B_CANCEL); B_CANCEL := _B_CANCEL;
B_KEY_DOWN := trans(_B_KEY_DOWN); B_KEY_DOWN := _B_KEY_DOWN;
B_KEY_UP := trans(_B_KEY_UP); B_KEY_UP := _B_KEY_UP;
B_UNMAPPED_KEY_DOWN := trans(_B_UNMAPPED_KEY_DOWN); B_UNMAPPED_KEY_DOWN := _B_UNMAPPED_KEY_DOWN;
B_UNMAPPED_KEY_UP := trans(_B_UNMAPPED_KEY_UP); B_UNMAPPED_KEY_UP := _B_UNMAPPED_KEY_UP;
B_MODIFIERS_CHANGED := trans(_B_MODIFIERS_CHANGED); B_MODIFIERS_CHANGED := _B_MODIFIERS_CHANGED;
B_MINIMIZE := trans(_B_MINIMIZE); B_MINIMIZE := _B_MINIMIZE;
B_MOUSE_DOWN := trans(_B_MOUSE_DOWN); B_MOUSE_DOWN := _B_MOUSE_DOWN;
B_MOUSE_MOVED := trans(_B_MOUSE_MOVED); B_MOUSE_MOVED := _B_MOUSE_MOVED;
B_MOUSE_ENTER_EXIT := trans(_B_MOUSE_ENTER_EXIT); B_MOUSE_ENTER_EXIT := _B_MOUSE_ENTER_EXIT;
B_MOUSE_UP := trans(_B_MOUSE_UP); B_MOUSE_UP := _B_MOUSE_UP;
B_MOUSE_WHEEL_CHANGED := trans(_B_MOUSE_WHEEL_CHANGED); B_MOUSE_WHEEL_CHANGED := _B_MOUSE_WHEEL_CHANGED;
B_OPEN_IN_WORKSPACE := trans(_B_OPEN_IN_WORKSPACE); B_OPEN_IN_WORKSPACE := _B_OPEN_IN_WORKSPACE;
B_PRINTER_CHANGED := trans(_B_PRINTER_CHANGED); B_PRINTER_CHANGED := _B_PRINTER_CHANGED;
B_PULSE := trans(_B_PULSE); B_PULSE := _B_PULSE;
B_READY_TO_RUN := trans(_B_READY_TO_RUN); B_READY_TO_RUN := _B_READY_TO_RUN;
B_REFS_RECEIVED := trans(_B_REFS_RECEIVED); B_REFS_RECEIVED := _B_REFS_RECEIVED;
B_RELEASE_OVERLAY_LOCK := trans(_B_RELEASE_OVERLAY_LOCK); B_RELEASE_OVERLAY_LOCK := _B_RELEASE_OVERLAY_LOCK;
B_ACQUIRE_OVERLAY_LOCK := trans(_B_ACQUIRE_OVERLAY_LOCK); B_ACQUIRE_OVERLAY_LOCK := _B_ACQUIRE_OVERLAY_LOCK;
B_SCREEN_CHANGED := trans(_B_SCREEN_CHANGED); B_SCREEN_CHANGED := _B_SCREEN_CHANGED;
B_VALUE_CHANGED := trans(_B_VALUE_CHANGED); B_VALUE_CHANGED := _B_VALUE_CHANGED;
B_VIEW_MOVED := trans(_B_VIEW_MOVED); B_VIEW_MOVED := _B_VIEW_MOVED;
B_VIEW_RESIZED := trans(_B_VIEW_RESIZED); B_VIEW_RESIZED := _B_VIEW_RESIZED;
B_WINDOW_MOVED := trans(_B_WINDOW_MOVED); B_WINDOW_MOVED := _B_WINDOW_MOVED;
B_WINDOW_RESIZED := trans(_B_WINDOW_RESIZED); B_WINDOW_RESIZED := _B_WINDOW_RESIZED;
B_WORKSPACES_CHANGED := trans(_B_WORKSPACES_CHANGED); B_WORKSPACES_CHANGED := _B_WORKSPACES_CHANGED;
B_WORKSPACE_ACTIVATED := trans(_B_WORKSPACE_ACTIVATED); B_WORKSPACE_ACTIVATED := _B_WORKSPACE_ACTIVATED;
B_ZOOM := trans(_B_ZOOM); B_ZOOM := _B_ZOOM;
_APP_MENU_ := trans(__APP_MENU_); _APP_MENU_ := __APP_MENU_;
_BROWSER_MENUS_ := trans(__BROWSER_MENUS_); _BROWSER_MENUS_ := __BROWSER_MENUS_;
_MENU_EVENT_ := trans(__MENU_EVENT_); _MENU_EVENT_ := __MENU_EVENT_;
_PING_ := trans(__PING_); _PING_ := __PING_;
_QUIT_ := trans(__QUIT_); _QUIT_ := __QUIT_;
_VOLUME_MOUNTED_ := trans(__VOLUME_MOUNTED_); _VOLUME_MOUNTED_ := __VOLUME_MOUNTED_;
_VOLUME_UNMOUNTED_ := trans(__VOLUME_UNMOUNTED_); _VOLUME_UNMOUNTED_ := __VOLUME_UNMOUNTED_;
_MESSAGE_DROPPED_ := trans(__MESSAGE_DROPPED_); _MESSAGE_DROPPED_ := __MESSAGE_DROPPED_;
_DISPOSE_DRAG_ := trans(__DISPOSE_DRAG_); _DISPOSE_DRAG_ := __DISPOSE_DRAG_;
_MENUS_DONE_ := trans(__MENUS_DONE_); _MENUS_DONE_ := __MENUS_DONE_;
_SHOW_DRAG_HANDLES_ := trans(__SHOW_DRAG_HANDLES_); _SHOW_DRAG_HANDLES_ := __SHOW_DRAG_HANDLES_;
_EVENTS_PENDING_ := trans(__EVENTS_PENDING_); _EVENTS_PENDING_ := __EVENTS_PENDING_;
_UPDATE_ := trans(__UPDATE_); _UPDATE_ := __UPDATE_;
_UPDATE_IF_NEEDED_ := trans(__UPDATE_IF_NEEDED_); _UPDATE_IF_NEEDED_ := __UPDATE_IF_NEEDED_;
_PRINTER_INFO_ := trans(__PRINTER_INFO_); _PRINTER_INFO_ := __PRINTER_INFO_;
_SETUP_PRINTER_ := trans(__SETUP_PRINTER_); _SETUP_PRINTER_ := __SETUP_PRINTER_;
_SELECT_PRINTER_ := trans(__SELECT_PRINTER_); _SELECT_PRINTER_ := __SELECT_PRINTER_;
// Other Commands // Other Commands
B_SET_PROPERTY := trans(_B_SET_PROPERTY); B_SET_PROPERTY := _B_SET_PROPERTY;
B_GET_PROPERTY := trans(_B_GET_PROPERTY); B_GET_PROPERTY := _B_GET_PROPERTY;
B_CREATE_PROPERTY := trans(_B_CREATE_PROPERTY); B_CREATE_PROPERTY := _B_CREATE_PROPERTY;
B_DELETE_PROPERTY := trans(_B_DELETE_PROPERTY); B_DELETE_PROPERTY := _B_DELETE_PROPERTY;
B_COUNT_PROPERTIES := trans(_B_COUNT_PROPERTIES); B_COUNT_PROPERTIES := _B_COUNT_PROPERTIES;
B_EXECUTE_PROPERTY := trans(_B_EXECUTE_PROPERTY); B_EXECUTE_PROPERTY := _B_EXECUTE_PROPERTY;
B_GET_SUPPORTED_SUITES := trans(_B_GET_SUPPORTED_SUITES); B_GET_SUPPORTED_SUITES := _B_GET_SUPPORTED_SUITES;
B_UNDO := trans(_B_UNDO); B_UNDO := _B_UNDO;
B_CUT := trans(_B_CUT); B_CUT := _B_CUT;
B_COPY := trans(_B_COPY); B_COPY := _B_COPY;
B_PASTE := trans(_B_PASTE); B_PASTE := _B_PASTE;
B_SELECT_ALL := trans(_B_SELECT_ALL); B_SELECT_ALL := _B_SELECT_ALL;
B_SAVE_REQUESTED := trans(_B_SAVE_REQUESTED); B_SAVE_REQUESTED := _B_SAVE_REQUESTED;
B_MESSAGE_NOT_UNDERSTOOD := trans(_B_MESSAGE_NOT_UNDERSTOOD); B_MESSAGE_NOT_UNDERSTOOD := _B_MESSAGE_NOT_UNDERSTOOD;
B_NO_REPLY := trans(_B_NO_REPLY); B_NO_REPLY := _B_NO_REPLY;
B_REPLY := trans(_B_REPLY); B_REPLY := _B_REPLY;
B_SIMPLE_DATA := trans(_B_SIMPLE_DATA); B_SIMPLE_DATA := _B_SIMPLE_DATA;
B_MIME_DATA := trans(_B_MIME_DATA); B_MIME_DATA := _B_MIME_DATA;
B_ARCHIVED_OBJECT := trans(_B_ARCHIVED_OBJECT); B_ARCHIVED_OBJECT := _B_ARCHIVED_OBJECT;
B_UPDATE_STATUS_BAR := trans(_B_UPDATE_STATUS_BAR); B_UPDATE_STATUS_BAR := _B_UPDATE_STATUS_BAR;
B_RESET_STATUS_BAR := trans(_B_RESET_STATUS_BAR); B_RESET_STATUS_BAR := _B_RESET_STATUS_BAR;
B_NODE_MONITOR := trans(_B_NODE_MONITOR); B_NODE_MONITOR := _B_NODE_MONITOR;
B_QUERY_UPDATE := trans(_B_QUERY_UPDATE); B_QUERY_UPDATE := _B_QUERY_UPDATE;
B_ENDORSABLE := trans(_B_ENDORSABLE); B_ENDORSABLE := _B_ENDORSABLE;
B_COPY_TARGET := trans(_B_COPY_TARGET); B_COPY_TARGET := _B_COPY_TARGET;
B_MOVE_TARGET := trans(_B_MOVE_TARGET); B_MOVE_TARGET := _B_MOVE_TARGET;
B_TRASH_TARGET := trans(_B_TRASH_TARGET); B_TRASH_TARGET := _B_TRASH_TARGET;
B_LINK_TARGET := trans(_B_LINK_TARGET); B_LINK_TARGET := _B_LINK_TARGET;
B_INPUT_DEVICES_CHANGED := trans(_B_INPUT_DEVICES_CHANGED); B_INPUT_DEVICES_CHANGED := _B_INPUT_DEVICES_CHANGED;
B_INPUT_METHOD_EVENT := trans(_B_INPUT_METHOD_EVENT); B_INPUT_METHOD_EVENT := _B_INPUT_METHOD_EVENT;
B_WINDOW_MOVE_TO := trans(_B_WINDOW_MOVE_TO); B_WINDOW_MOVE_TO := _B_WINDOW_MOVE_TO;
B_WINDOW_MOVE_BY := trans(_B_WINDOW_MOVE_BY); B_WINDOW_MOVE_BY := _B_WINDOW_MOVE_BY;
B_SILENT_RELAUNCH := trans(_B_SILENT_RELAUNCH); B_SILENT_RELAUNCH := _B_SILENT_RELAUNCH;
B_OBSERVER_NOTICE_CHANGE := trans(_B_OBSERVER_NOTICE_CHANGE); B_OBSERVER_NOTICE_CHANGE := _B_OBSERVER_NOTICE_CHANGE;
B_CONTROL_INVOKED := trans(_B_CONTROL_INVOKED); B_CONTROL_INVOKED := _B_CONTROL_INVOKED;
B_CONTROL_MODIFIED := trans(_B_CONTROL_MODIFIED); B_CONTROL_MODIFIED := _B_CONTROL_MODIFIED;
end.
end.

View File

@@ -1,5 +1,6 @@
{ BePascal - A pascal wrapper around the BeOS API { BePascal - A pascal wrapper around the BeOS API
Copyright (C) 2002 Olivier Coursiere Copyright (C) 2002 - 2003 Olivier Coursiere
Oscar Lesta
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public modify it under the terms of the GNU Library General Public
@@ -15,13 +16,12 @@
License along with this library; if not, write to the Free License along with this library; if not, write to the Free
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
} }
unit Application; unit Application;
interface interface
uses uses
beobj, looper, appdefs, supportdefs, message, os, roster; BeObj, Looper, OS, Roster, SupportDefs;
type type
BApplication = class(BLooper) BApplication = class(BLooper)
@@ -29,28 +29,39 @@ type
public public
constructor Create; override; constructor Create; override;
constructor Create(Signature : PChar); virtual; constructor Create(Signature : PChar); virtual;
constructor Create(Signature : PChar; error : PStatus_t); virtual; constructor Create(Signature : PChar; error : Pstatus_t); virtual;
destructor Destroy; override; destructor Destroy; override;
procedure ShowCursor; procedure ShowCursor;
procedure HideCursor; procedure HideCursor;
function Run : Thread_id; function Run : thread_id;
procedure Quit; procedure Quit;
function GeAppInfo(var info : AppInfo ): Status_t; function GeAppInfo(var info : app_info): status_t;
// Hook functions // Hook functions
procedure AppActivated(Active : boolean); virtual; procedure AppActivated(Active : Boolean); virtual;
procedure ReadyToRun; virtual; procedure ReadyToRun; virtual;
end; end;
function BApplication_Create(AObject : TObject) : TCPlusObject; cdecl; external BePascalLibName name 'BApplication_Create_1'; function BApplication_Create(AObject : TObject) : TCPlusObject;
function BApplication_Create(AObject : TObject; Signature : PChar) : TCPlusObject; cdecl; external BePascalLibName name 'BApplication_Create_2'; cdecl; external BePascalLibName name 'BApplication_Create_1';
function BApplication_Create(AObject : TObject; Signature : PChar; error : PStatus_t) : TCPlusObject; cdecl; external BePascalLibName name 'BApplication_Create_3'; function BApplication_Create(AObject : TObject; Signature : PChar) : TCPlusObject;
procedure BApplication_Free(Application : TCPlusObject); cdecl; external BePascalLibName; cdecl; external BePascalLibName name 'BApplication_Create_2';
procedure BApplication_HideCursor(Application : TCPlusObject); cdecl; external BePascalLibName; function BApplication_Create(AObject : TObject; Signature : PChar;
procedure BApplication_ShowCursor(Application : TCPlusObject); cdecl; external BePascalLibName; error : Pstatus_t) : TCPlusObject;
function BApplication_Run(Application : TCPlusObject) : Thread_id; cdecl; external BePascalLibName; cdecl; external BePascalLibName name 'BApplication_Create_3';
procedure BApplication_Quit(Application : TCPlusObject); cdecl; external BePascalLibName; procedure BApplication_Free(Application : TCPlusObject);
function BApplication_GeAppInfo(Application : TCPlusObject; var info : AppInfo ) : Status_t; cdecl; external BePascalLibName name 'BApplication_GetAppInfo'; cdecl; external BePascalLibName;
function get_be_app_messenger : TCPlusObject; cdecl; external BePascalLibName name 'get_be_app_messenger'; procedure BApplication_HideCursor(Application : TCPlusObject);
cdecl; external BePascalLibName;
procedure BApplication_ShowCursor(Application : TCPlusObject);
cdecl; external BePascalLibName;
function BApplication_Run(Application : TCPlusObject) : thread_id;
cdecl; external BePascalLibName;
procedure BApplication_Quit(Application : TCPlusObject);
cdecl; external BePascalLibName;
function BApplication_GeAppInfo(Application : TCPlusObject; var info : app_info)
: status_t; cdecl; external BePascalLibName name 'BApplication_GetAppInfo';
function get_be_app_messenger : TCPlusObject;
cdecl; external BePascalLibName name 'get_be_app_messenger';
var var
be_app : BApplication; be_app : BApplication;
@@ -58,33 +69,33 @@ var
implementation implementation
uses uses
Messenger; Message, Messenger;
var var
Application_AppActivated_hook : Pointer; cvar; external; Application_AppActivated_hook : Pointer; cvar; external;
Application_ReadyToRun_hook : Pointer; cvar; external; Application_ReadyToRun_hook : Pointer; cvar; external;
// start BApplication // start BApplication
constructor BApplication.Create; constructor BApplication.Create;
begin begin
inherited; inherited;
CPlusObject := BApplication_Create(Self, PChar('application/x-vnd.BePascal')); CPlusObject := BApplication_Create(Self, PChar('application/x-vnd.BePascal'));
be_app := Self; be_app := Self;
be_app_BMessenger := BMessenger.Wrap(be_app_messengerCPlus); be_app_BMessenger := BMessenger.Wrap(be_app_messengerCPlus);
end; end;
constructor BApplication.Create(Signature : PChar); constructor BApplication.Create(Signature : PChar);
begin begin
inherited Create; inherited Create;
CPlusObject := BApplication_Create(Self, Signature); CPlusObject := BApplication_Create(Self, Signature);
be_app := Self; be_app := Self;
be_app_BMessenger := BMessenger.Wrap(be_app_messengerCPlus); be_app_BMessenger := BMessenger.Wrap(be_app_messengerCPlus);
end; end;
constructor BApplication.Create(Signature : PChar; error : PStatus_t); constructor BApplication.Create(Signature : PChar; error : Pstatus_t);
begin begin
inherited Create; inherited Create;
CPlusObject := BApplication_Create(Self, Signature, error); CPlusObject := BApplication_Create(Self, Signature, error);
be_app := Self; be_app := Self;
be_app_BMessenger := BMessenger.Wrap(be_app_messengerCPlus); be_app_BMessenger := BMessenger.Wrap(be_app_messengerCPlus);
end; end;
@@ -100,13 +111,13 @@ end;
// Hook functions // Hook functions
procedure Application_AppActivated_hook_func(Application : BApplication; Active : boolean); cdecl; procedure Application_AppActivated_hook_func(Application : BApplication; Active : Boolean); cdecl;
begin begin
if Application <> nil then if Application <> nil then
Application.AppActivated(Active); Application.AppActivated(Active);
end; end;
procedure BApplication.AppActivated(Active : boolean); procedure BApplication.AppActivated(Active : Boolean);
begin begin
{$IFDEF DEBUG} {$IFDEF DEBUG}
SendText(Active); SendText(Active);
@@ -159,32 +170,30 @@ begin
BApplication_HideCursor(CPlusObject); BApplication_HideCursor(CPlusObject);
end; end;
function BApplication.Run : Thread_id; function BApplication.Run : thread_id;
begin begin
Result := BApplication_Run(CPlusObject); Result := BApplication_Run(CPlusObject);
end; end;
procedure BApplication.Quit; procedure BApplication.Quit;
begin begin
BApplication_Quit(CPlusObject); BApplication_Quit(CPlusObject);
end; end;
function BApplication.GeAppInfo(var info : AppInfo ): Status_t; function BApplication.GeAppInfo(var info : app_info) : status_t;
begin begin
Result:=BApplication_GeAppInfo(CPlusObject,info) ; Result := BApplication_GeAppInfo(CPlusObject, info);
end; end;
// end BApplication
// end BApplication
initialization initialization
be_app := nil; be_app := nil;
Application_AppActivated_hook := @Application_AppActivated_hook_func; Application_AppActivated_hook := @Application_AppActivated_hook_func;
Application_ReadyToRun_hook := @Application_ReadyToRun_hook_func; Application_ReadyToRun_hook := @Application_ReadyToRun_hook_func;
finalization finalization
Application_AppActivated_hook := nil; Application_AppActivated_hook := nil;
Application_ReadyToRun_hook := nil; Application_ReadyToRun_hook := nil;
be_app := nil; be_app := nil;
end.
end.

View File

@@ -1,5 +1,6 @@
{ BePascal - A pascal wrapper around the BeOS API { BePascal - A pascal wrapper around the BeOS API
Copyright (C) 2002 Olivier Coursiere Copyright (C) 2002 - 2003 Olivier Coursiere
Oscar Lesta
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public modify it under the terms of the GNU Library General Public
@@ -15,88 +16,104 @@
License along with this library; if not, write to the Free License along with this library; if not, write to the Free
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
} }
unit Roster; unit Roster;
interface interface
uses uses
beobj, appdefs, supportdefs, OS, Entry, StorageDefs, List, Messenger, BeObj, AppDefs, Entry, List, Message, Messenger, OS, StorageDefs, SupportDefs;
message;
type type
PTEntryRef = ^EntryRef; app_info = record
thread : thread_id;
AppInfoProc = procedure; team : team_id;
port : port_id;
AppInfo = record
thread : Thread_id;
team : Team_id;
port : Port_id;
flags : Cardinal; flags : Cardinal;
ref : EntryRef; ref : entry_ref;
signature : Array[0..B_MIME_TYPE_LENGTH] of Char; signature : Array[0..B_MIME_TYPE_LENGTH - 1] of Char;
end; end;
const
B_LAUNCH_MASK = $3;
B_SINGLE_LAUNCH = $0;
B_MULTIPLE_LAUNCH = $1;
B_EXCLUSIVE_LAUNCH = $2;
B_BACKGROUND_APP = $4;
B_ARGV_ONLY = $8;
_B_APP_INFO_RESERVED1_ = $10000000;
B_REQUEST_LAUNCHED = $00000001;
B_REQUEST_QUIT = $00000002;
B_REQUEST_ACTIVATED = $00000004;
{
B_SOME_APP_LAUNCHED = 'BRAS';
B_SOME_APP_QUIT = 'BRAQ';
B_SOME_APP_ACTIVATED = 'BRAW';
}
type
BRoster = class(TBeObject) BRoster = class(TBeObject)
private private
public public
constructor Create; override; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
//***************** //*****************
function IsRunning(mime_sig : PChar) : boolean; function IsRunning(mime_sig : PChar) : Boolean;
function IsRunning(var ref : EntryRef) : boolean; function IsRunning(var ref : entry_ref) : Boolean;
function TeamFor(mime_sig : PChar) : Team_id; function TeamFor(mime_sig : PChar) : team_id;
function TeamFor(var ref : EntryRef) : Team_id; function TeamFor(var ref : entry_ref) : team_id;
procedure GetAppList(team_id_list : BList); procedure GetAppList(team_id_list : BList);
procedure GetAppList(sig : PChar; team_id_list : BList); procedure GetAppList(sig : PChar; team_id_list : BList);
function GeAppInfo(sig : PChar; var info : AppInfo) : Status_t; function GeAppInfo(sig : PChar; var info : app_info) : status_t;
function GeAppInfo(var ref : EntryRef; var info : AppInfo) : Status_t; function GeAppInfo(var ref : entry_ref; var info : app_info) : status_t;
function GetRunningAppInfo(team : Team_id; var info : AppInfo) : Status_t; function GetRunningAppInfo(team : team_id; var info : app_info) : status_t;
function GetActiveAppInfo(var info : AppInfo) : Status_t; function GetActiveAppInfo(var info : app_info) : status_t;
function FindApp(mime_type : PChar; var app : EntryRef) : Status_t; function FindApp(mime_type : PChar; var app : entry_ref) : status_t;
function FindApp(var ref : EntryRef; var app : EntryRef) : Status_t; function FindApp(var ref : entry_ref; var app : entry_ref) : status_t;
function Broadcast(msg : BMessage) : Status_t; function Broadcast(msg : BMessage) : status_t;
function Broadcast(msg : BMessage; reply_to : BMessenger) : Status_t; function Broadcast(msg : BMessage; reply_to : BMessenger) : status_t;
function StopWatching(target : BMessenger) : Status_t; function StopWatching(target : BMessenger) : status_t;
function ActivateApp(team : Team_id) : Status_t; function ActivateApp(team : team_id) : status_t;
function Launch(mime_type : PChar; initial_msgs : BMessage; var app_team : Team_id) : Status_t; function Launch(mime_type : PChar; initial_msgs : BMessage; var app_team : team_id) : status_t;
function Launch(mime_type : PChar; message_list : BList; var app_team : Team_id) : Status_t; function Launch(mime_type : PChar; message_list : BList; var app_team : team_id) : status_t;
function Launch(mime_type : PChar; argc : integer; args : PChar; var app_team : Team_id) : Status_t; function Launch(mime_type : PChar; argc : Integer; args : PChar; var app_team : team_id) : status_t;
function Launch(var ref : EntryRef; initial_message : BMessage; var app_team : Team_id) : Status_t; function Launch(var ref : entry_ref; initial_message : BMessage; var app_team : team_id) : status_t;
function Launch(var ref : EntryRef; message_list : BList; var app_team : Team_id) : Status_t; function Launch(var ref : entry_ref; message_list : BList; var app_team : team_id) : status_t;
function Launch(var ref : EntryRef; argc : integer; args : PChar; var app_team : Team_id) : Status_t; function Launch(var ref : entry_ref; argc : Integer; args : PChar; var app_team : team_id) : status_t;
procedure GetRecentDocuments(refList : BMessage; maxCount : integer; ofType : PChar; openedByAppSig : PChar); procedure GetRecentDocuments(refList : BMessage; maxCount : Integer; ofType : PChar; openedByAppSig : PChar);
procedure GetRecentDocuments(refList : BMessage; maxCount : integer; ofTypeList : PChar; ofTypeListCount : integer; openedByAppSig : PChar); procedure GetRecentDocuments(refList : BMessage; maxCount : Integer; ofTypeList : PChar; ofTypeListCount : Integer; openedByAppSig : PChar);
procedure GetRecentFolders(refList : BMessage; maxCount : integer; openedByAppSig : PChar); procedure GetRecentFolders(refList : BMessage; maxCount : Integer; openedByAppSig : PChar);
procedure GetRecentApps(refList : BMessage; maxCount : integer); procedure GetRecentApps(refList : BMessage; maxCount : Integer);
procedure AddToRecentDocuments(var doc : EntryRef; appSig : PChar); procedure AddToRecentDocuments(var doc : entry_ref; appSig : PChar);
procedure AddToRecentFolders(var folder : EntryRef; appSig : PChar); procedure AddToRecentFolders(var folder : entry_ref; appSig : PChar);
// private // private
// procedure enum mtarget { MAIN_MESSENGER, MIME_MESSENGER, USE_GIVEN }; // procedure enum mtarget { MAIN_MESSENGER, MIME_MESSENGER, USE_GIVEN };
{ function _StartWatching(t : ; roster_mess : BMessenger; what : Cardinal; notify : BMessenger; event_mask : Cardinal) : Status_t; { function _StartWatching(t : ; roster_mess : BMessenger; what : Cardinal; notify : BMessenger; event_mask : Cardinal) : status_t;
function _StopWatching(t : ; roster_mess : BMessenger; what : Cardinal; notify : BMessenger) : Status_t; function _StopWatching(t : ; roster_mess : BMessenger; what : Cardinal; notify : BMessenger) : status_t;
function AddApplication(mime_sig : PChar; ref : ^EntryRef; flags : Cardinal; team : Team_id; thread : TThread_id; port : TPort_id; full_reg : boolean) : Cardinal; function AddApplication(mime_sig : PChar; ref : ^entry_ref; flags : Cardinal; team : team_id; thread : TThread_id; port : TPort_id; full_reg : Boolean) : Cardinal;
procedure SetSignature(team : Team_id; mime_sig : PChar); procedure SetSignature(team : team_id; mime_sig : PChar);
procedure SetThread(team : Team_id; tid : TThread_id); procedure SetThread(team : team_id; tid : TThread_id);
procedure SetThreadAndTeam(entry_token : Cardinal; tid : TThread_id; team : Team_id); procedure SetThreadAndTeam(entry_token : Cardinal; tid : TThread_id; team : team_id);
procedure CompleteRegistration(team : Team_id; : TThread_id; port : TPort_id); procedure CompleteRegistration(team : team_id; : TThread_id; port : TPort_id);
function IsAppPreRegistered(ref : ^BEntryRef; team : Team_id; info : ^AppInfo) : boolean; function IsAppPreRegistered(ref : ^BEntryRef; team : team_id; info : ^app_info) : Boolean;
procedure RemovePreRegApp(entry_token : Cardinal); procedure RemovePreRegApp(entry_token : Cardinal);
procedure RemoveApp(team : Team_id); procedure RemoveApp(team : team_id);
function xLaunchAppPrivate(mime_sig : PChar; ref : ^BEntryRef; msg_list : BList; cargs : integer; args : PChar; app_team : ^Team_id) : Status_t; function xLaunchAppPrivate(mime_sig : PChar; ref : ^BEntryRef; msg_list : BList; cargs : Integer; args : PChar; app_team : ^team_id) : status_t;
function UpdateActiveApp(team : Team_id) : boolean; function UpdateActiveApp(team : team_id) : Boolean;
procedure SetAppFlags(team : Team_id; flags : Cardinal); procedure SetAppFlags(team : team_id; flags : Cardinal);
procedure DumpRoster; procedure DumpRoster;
function resolve_app(in_type : PChar; ref : ^BEntryRef; app_ref : ^BEntryRef; app_sig : PChar; app_flags : Cardinal; was_document : boolean) : Status_t; function resolve_app(in_type : PChar; ref : ^BEntryRef; app_ref : ^BEntryRef; app_sig : PChar; app_flags : Cardinal; was_document : Boolean) : status_t;
function translate_ref(ref : ^BEntryRef; app_meta : TBMimeType; app_ref : ^BEntryRef; app_file : TBFile; app_sig : PChar; was_document : boolean) : Status_t; function translate_ref(ref : ^BEntryRef; app_meta : TBMimeType; app_ref : ^BEntryRef; app_file : TBFile; app_sig : PChar; was_document : Boolean) : status_t;
function translate_type(mime_type : PChar; meta : TBMimeType; app_ref : ^BEntryRef; app_file : TBFile; app_sig : PChar) : Status_t; function translate_type(mime_type : PChar; meta : TBMimeType; app_ref : ^BEntryRef; app_file : TBFile; app_sig : PChar) : status_t;
function sniff_file(file : ^BEntryRef; finfo : TBNodeInfo; mime_type : PChar) : Status_t; function sniff_file(file : ^BEntryRef; finfo : TBNodeInfo; mime_type : PChar) : status_t;
function is_wildcard(sig : PChar) : boolean; function is_wildcard(sig : PChar) : Boolean;
function get_unique_supporting_app(apps : BMessage; out_sig : PChar) : Status_t; function get_unique_supporting_app(apps : BMessage; out_sig : PChar) : status_t;
function get_random_supporting_app(apps : BMessage; out_sig : PChar) : Status_t; function get_random_supporting_app(apps : BMessage; out_sig : PChar) : status_t;
function build_arg_vector(args : PChar; pargs : integer; app_ref : ^BEntryRef; doc_ref : ^BEntryRef) : PChar; function build_arg_vector(args : PChar; pargs : Integer; app_ref : ^BEntryRef; doc_ref : ^BEntryRef) : PChar;
function send_to_running(tema : Team_id; app_ref : ^BEntryRef; cargs : integer; args : PChar; msg_list : BList; ref : ^BEntryRef) : Status_t; function send_to_running(tema : team_id; app_ref : ^BEntryRef; cargs : Integer; args : PChar; msg_list : BList; ref : ^BEntryRef) : status_t;
procedure IniBMessengers; procedure IniBMessengers;
procedure BMessenger fMess; procedure BMessenger fMess;
procedure BMessenger fMimeMess; procedure BMessenger fMimeMess;
@@ -118,58 +135,58 @@ procedure BRoster_Destroy(CPlusObject : TCPlusObject); cdecl; external BePascalL
//procedure app_info_char signature[B_MIME_TYPE_LENGTH](AObject : TCPlusObject); cdecl; external BePascalLibName name 'app_info_char signature[B_MIME_TYPE_LENGTH]'; //procedure app_info_char signature[B_MIME_TYPE_LENGTH](AObject : TCPlusObject); cdecl; external BePascalLibName name 'app_info_char signature[B_MIME_TYPE_LENGTH]';
//function BRoster_Create(AObject : TBeObject); cdecl; external BePascalLibName name 'BRoster_Create'; //function BRoster_Create(AObject : TBeObject); cdecl; external BePascalLibName name 'BRoster_Create';
//procedure BRoster_Free(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_Free'; //procedure BRoster_Free(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_Free';
function BRoster_IsRunning(AObject : TCPlusObject; mime_sig : PChar) : boolean; cdecl; external BePascalLibName name 'BRoster_IsRunning'; function BRoster_IsRunning(AObject : TCPlusObject; mime_sig : PChar) : Boolean; cdecl; external BePascalLibName name 'BRoster_IsRunning';
function BRoster_IsRunning(AObject : TCPlusObject; var ref : EntryRef) : boolean; cdecl; external BePascalLibName name 'BRoster_IsRunning'; function BRoster_IsRunning(AObject : TCPlusObject; var ref : entry_ref) : Boolean; cdecl; external BePascalLibName name 'BRoster_IsRunning';
function BRoster_TeamFor(AObject : TCPlusObject; mime_sig : PChar) : Team_id; cdecl; external BePascalLibName name 'BRoster_TeamFor'; function BRoster_TeamFor(AObject : TCPlusObject; mime_sig : PChar) : team_id; cdecl; external BePascalLibName name 'BRoster_TeamFor';
function BRoster_TeamFor(AObject : TCPlusObject; var ref : EntryRef) : Team_id; cdecl; external BePascalLibName name 'BRoster_TeamFor'; function BRoster_TeamFor(AObject : TCPlusObject; var ref : entry_ref) : team_id; cdecl; external BePascalLibName name 'BRoster_TeamFor';
procedure BRoster_GetAppList(AObject : TCPlusObject; team_id_list : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_GetAppList'; procedure BRoster_GetAppList(AObject : TCPlusObject; team_id_list : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_GetAppList';
procedure BRoster_GetAppList(AObject : TCPlusObject; sig : PChar; team_id_list : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_GetAppList'; procedure BRoster_GetAppList(AObject : TCPlusObject; sig : PChar; team_id_list : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_GetAppList';
function BRoster_GeAppInfo(AObject : TCPlusObject; sig : PChar; var info : AppInfo) : Status_t; cdecl; external BePascalLibName name 'BRoster_GetAppInfo'; function BRoster_GeAppInfo(AObject : TCPlusObject; sig : PChar; var info : app_info) : status_t; cdecl; external BePascalLibName name 'BRoster_GetAppInfo';
function BRoster_GeAppInfo(AObject : TCPlusObject; var ref : EntryRef; var info : AppInfo) : Status_t; cdecl; external BePascalLibName name 'BRoster_GetAppInfo'; function BRoster_GeAppInfo(AObject : TCPlusObject; var ref : entry_ref; var info : app_info) : status_t; cdecl; external BePascalLibName name 'BRoster_GetAppInfo';
function BRoster_GetRunningAppInfo(AObject : TCPlusObject; team : Team_id; var info : AppInfo) : Status_t; cdecl; external BePascalLibName name 'BRoster_GetRunningAppInfo'; function BRoster_GetRunningAppInfo(AObject : TCPlusObject; team : team_id; var info : app_info) : status_t; cdecl; external BePascalLibName name 'BRoster_GetRunningAppInfo';
function BRoster_GetActiveAppInfo(AObject : TCPlusObject; var info : AppInfo) : Status_t; cdecl; external BePascalLibName name 'BRoster_GetActiveAppInfo'; function BRoster_GetActiveAppInfo(AObject : TCPlusObject; var info : app_info) : status_t; cdecl; external BePascalLibName name 'BRoster_GetActiveAppInfo';
function BRoster_FindApp(AObject : TCPlusObject; mime_type : PChar; var app : EntryRef) : Status_t; cdecl; external BePascalLibName name 'BRoster_FindApp'; function BRoster_FindApp(AObject : TCPlusObject; mime_type : PChar; var app : entry_ref) : status_t; cdecl; external BePascalLibName name 'BRoster_FindApp';
function BRoster_FindApp_1(AObject : TCPlusObject; var ref : EntryRef; var app : EntryRef) : Status_t; cdecl; external BePascalLibName name 'BRoster_FindApp'; function BRoster_FindApp_1(AObject : TCPlusObject; var ref : entry_ref; var app : entry_ref) : status_t; cdecl; external BePascalLibName name 'BRoster_FindApp';
function BRoster_Broadcast(aRoster : TCPlusObject; msg : TCPlusObject) : Status_t; cdecl; external BePascalLibName name 'BRoster_Broadcast'; function BRoster_Broadcast(aRoster : TCPlusObject; msg : TCPlusObject) : status_t; cdecl; external BePascalLibName name 'BRoster_Broadcast';
function BRoster_Broadcast_1(AObject : TCPlusObject; msg : TCPlusObject; reply_to : TCPlusObject) : Status_t; cdecl; external BePascalLibName name 'BRoster_Broadcast'; function BRoster_Broadcast_1(AObject : TCPlusObject; msg : TCPlusObject; reply_to : TCPlusObject) : status_t; cdecl; external BePascalLibName name 'BRoster_Broadcast';
function BRoster_StopWatching(AObject : TCPlusObject; target : TCPlusObject) : Status_t; cdecl; external BePascalLibName name 'BRoster_StopWatching'; function BRoster_StopWatching(AObject : TCPlusObject; target : TCPlusObject) : status_t; cdecl; external BePascalLibName name 'BRoster_StopWatching';
function BRoster_ActivateApp(AObject : TCPlusObject; team : Team_id) : Status_t; cdecl; external BePascalLibName name 'BRoster_ActivateApp'; function BRoster_ActivateApp(AObject : TCPlusObject; team : team_id) : status_t; cdecl; external BePascalLibName name 'BRoster_ActivateApp';
function BRoster_Launch(AObject : TCPlusObject; mime_type : PChar; initial_msgs : TCPlusObject; var app_team : Team_id) : Status_t; cdecl; external BePascalLibName name 'BRoster_Launch'; function BRoster_Launch(AObject : TCPlusObject; mime_type : PChar; initial_msgs : TCPlusObject; var app_team : team_id) : status_t; cdecl; external BePascalLibName name 'BRoster_Launch';
function BRoster_Launch_1(AObject : TCPlusObject; mime_type : PChar; message_list : TCPlusObject; var app_team : Team_id) : Status_t; cdecl; external BePascalLibName name 'BRoster_Launch'; function BRoster_Launch_1(AObject : TCPlusObject; mime_type : PChar; message_list : TCPlusObject; var app_team : team_id) : status_t; cdecl; external BePascalLibName name 'BRoster_Launch';
function BRoster_Launch_2(AObject : TCPlusObject; mime_type : PChar; argc : integer; args : PChar; var app_team : Team_id) : Status_t; cdecl; external BePascalLibName name 'BRoster_Launch'; function BRoster_Launch_2(AObject : TCPlusObject; mime_type : PChar; argc : Integer; args : PChar; var app_team : team_id) : status_t; cdecl; external BePascalLibName name 'BRoster_Launch';
function BRoster_Launch_3(AObject : TCPlusObject; var ref : EntryRef; initial_message : BMessage; var app_team : Team_id) : Status_t; cdecl; external BePascalLibName name 'BRoster_Launch'; function BRoster_Launch_3(AObject : TCPlusObject; var ref : entry_ref; initial_message : BMessage; var app_team : team_id) : status_t; cdecl; external BePascalLibName name 'BRoster_Launch';
function BRoster_Launch_4(AObject : TCPlusObject; var ref : EntryRef; message_list : BList; var app_team : Team_id) : Status_t; cdecl; external BePascalLibName name 'BRoster_Launch'; function BRoster_Launch_4(AObject : TCPlusObject; var ref : entry_ref; message_list : BList; var app_team : team_id) : status_t; cdecl; external BePascalLibName name 'BRoster_Launch';
function BRoster_Launch_5(AObject : TCPlusObject; var ref : EntryRef; argc : integer; args : PChar; var app_team : Team_id) : Status_t; cdecl; external BePascalLibName name 'BRoster_Launch'; function BRoster_Launch_5(AObject : TCPlusObject; var ref : entry_ref; argc : Integer; args : PChar; var app_team : team_id) : status_t; cdecl; external BePascalLibName name 'BRoster_Launch';
procedure BRoster_GetRecentDocuments(AObject : TCPlusObject; refList : TCPlusObject; maxCount : integer; ofType : PChar; openedByAppSig : PChar); cdecl; external BePascalLibName name 'BRoster_GetRecentDocuments'; procedure BRoster_GetRecentDocuments(AObject : TCPlusObject; refList : TCPlusObject; maxCount : Integer; ofType : PChar; openedByAppSig : PChar); cdecl; external BePascalLibName name 'BRoster_GetRecentDocuments';
procedure BRoster_GetRecentDocuments(AObject : TCPlusObject; refList : TCPlusObject; maxCount : integer; ofTypeList : PChar; ofTypeListCount : integer; openedByAppSig : PChar); cdecl; external BePascalLibName name 'BRoster_GetRecentDocuments'; procedure BRoster_GetRecentDocuments(AObject : TCPlusObject; refList : TCPlusObject; maxCount : Integer; ofTypeList : PChar; ofTypeListCount : Integer; openedByAppSig : PChar); cdecl; external BePascalLibName name 'BRoster_GetRecentDocuments';
procedure BRoster_GetRecentFolders(AObject : TCPlusObject; refList : TCPlusObject; maxCount : integer; openedByAppSig : PChar); cdecl; external BePascalLibName name 'BRoster_GetRecentFolders'; procedure BRoster_GetRecentFolders(AObject : TCPlusObject; refList : TCPlusObject; maxCount : Integer; openedByAppSig : PChar); cdecl; external BePascalLibName name 'BRoster_GetRecentFolders';
procedure BRoster_GetRecentApps(AObject : TCPlusObject; refList : TCPlusObject; maxCount : integer); cdecl; external BePascalLibName name 'BRoster_GetRecentApps'; procedure BRoster_GetRecentApps(AObject : TCPlusObject; refList : TCPlusObject; maxCount : Integer); cdecl; external BePascalLibName name 'BRoster_GetRecentApps';
procedure BRoster_AddToRecentDocuments(AObject : TCPlusObject; var doc : EntryRef; appSig : PChar); cdecl; external BePascalLibName name 'BRoster_AddToRecentDocuments'; procedure BRoster_AddToRecentDocuments(AObject : TCPlusObject; var doc : entry_ref; appSig : PChar); cdecl; external BePascalLibName name 'BRoster_AddToRecentDocuments';
procedure BRoster_AddToRecentFolders(AObject : TCPlusObject; var folder : EntryRef; appSig : PChar); cdecl; external BePascalLibName name 'BRoster_AddToRecentFolders'; procedure BRoster_AddToRecentFolders(AObject : TCPlusObject; var folder : entry_ref; appSig : PChar); cdecl; external BePascalLibName name 'BRoster_AddToRecentFolders';
// procedure BRoster_enum mtarget { MAIN_MESSENGER, MIME_MESSENGER, USE_GIVEN }(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_enum mtarget { MAIN_MESSENGER, MIME_MESSENGER, USE_GIVEN }'; // procedure BRoster_enum mtarget { MAIN_MESSENGER, MIME_MESSENGER, USE_GIVEN }(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_enum mtarget { MAIN_MESSENGER, MIME_MESSENGER, USE_GIVEN }';
{function BRoster__StartWatching(AObject : TCPlusObject; t : ; roster_mess : TCPlusObject; what : Cardinal; notify : TCPlusObject; event_mask : Cardinal) : Status_t; cdecl; external BePascalLibName name 'BRoster__StartWatching'; {function BRoster__StartWatching(AObject : TCPlusObject; t : ; roster_mess : TCPlusObject; what : Cardinal; notify : TCPlusObject; event_mask : Cardinal) : status_t; cdecl; external BePascalLibName name 'BRoster__StartWatching';
function BRoster__StopWatching(AObject : TCPlusObject; t : ; roster_mess : TCPlusObject; what : Cardinal; notify : TCPlusObject) : Status_t; cdecl; external BePascalLibName name 'BRoster__StopWatching'; function BRoster__StopWatching(AObject : TCPlusObject; t : ; roster_mess : TCPlusObject; what : Cardinal; notify : TCPlusObject) : status_t; cdecl; external BePascalLibName name 'BRoster__StopWatching';
function BRoster_AddApplication(AObject : TCPlusObject; mime_sig : PChar; ref : ^BEntryRef; flags : Cardinal; team : Team_id; thread : TThread_id; port : TPort_id; full_reg : boolean) : Cardinal; cdecl; external BePascalLibName name 'BRoster_AddApplication'; function BRoster_AddApplication(AObject : TCPlusObject; mime_sig : PChar; ref : ^BEntryRef; flags : Cardinal; team : team_id; thread : TThread_id; port : TPort_id; full_reg : Boolean) : Cardinal; cdecl; external BePascalLibName name 'BRoster_AddApplication';
procedure BRoster_SetSignature(AObject : TCPlusObject; team : Team_id; mime_sig : PChar); cdecl; external BePascalLibName name 'BRoster_SetSignature'; procedure BRoster_SetSignature(AObject : TCPlusObject; team : team_id; mime_sig : PChar); cdecl; external BePascalLibName name 'BRoster_SetSignature';
procedure BRoster_SetThread(AObject : TCPlusObject; team : Team_id; tid : TThread_id); cdecl; external BePascalLibName name 'BRoster_SetThread'; procedure BRoster_SetThread(AObject : TCPlusObject; team : team_id; tid : TThread_id); cdecl; external BePascalLibName name 'BRoster_SetThread';
procedure BRoster_SetThreadAndTeam(AObject : TCPlusObject; entry_token : Cardinal; tid : TThread_id; team : Team_id); cdecl; external BePascalLibName name 'BRoster_SetThreadAndTeam'; procedure BRoster_SetThreadAndTeam(AObject : TCPlusObject; entry_token : Cardinal; tid : TThread_id; team : team_id); cdecl; external BePascalLibName name 'BRoster_SetThreadAndTeam';
procedure BRoster_CompleteRegistration(AObject : TCPlusObject; team : Team_id; : TThread_id; port : TPort_id); cdecl; external BePascalLibName name 'BRoster_CompleteRegistration'; procedure BRoster_CompleteRegistration(AObject : TCPlusObject; team : team_id; : TThread_id; port : TPort_id); cdecl; external BePascalLibName name 'BRoster_CompleteRegistration';
function BRoster_IsAppPreRegistered(AObject : TCPlusObject; ref : ^BEntryRef; team : Team_id; info : ^AppInfo) : boolean; cdecl; external BePascalLibName name 'BRoster_IsAppPreRegistered'; function BRoster_IsAppPreRegistered(AObject : TCPlusObject; ref : ^BEntryRef; team : team_id; info : ^app_info) : Boolean; cdecl; external BePascalLibName name 'BRoster_IsAppPreRegistered';
procedure BRoster_RemovePreRegApp(AObject : TCPlusObject; entry_token : Cardinal); cdecl; external BePascalLibName name 'BRoster_RemovePreRegApp'; procedure BRoster_RemovePreRegApp(AObject : TCPlusObject; entry_token : Cardinal); cdecl; external BePascalLibName name 'BRoster_RemovePreRegApp';
procedure BRoster_RemoveApp(AObject : TCPlusObject; team : Team_id); cdecl; external BePascalLibName name 'BRoster_RemoveApp'; procedure BRoster_RemoveApp(AObject : TCPlusObject; team : team_id); cdecl; external BePascalLibName name 'BRoster_RemoveApp';
function BRoster_xLaunchAppPrivate(AObject : TCPlusObject; mime_sig : PChar; ref : ^BEntryRef; msg_list : TCPlusObject; cargs : integer; args : PChar; app_team : ^Team_id) : Status_t; cdecl; external BePascalLibName name 'BRoster_xLaunchAppPrivate'; function BRoster_xLaunchAppPrivate(AObject : TCPlusObject; mime_sig : PChar; ref : ^BEntryRef; msg_list : TCPlusObject; cargs : Integer; args : PChar; app_team : ^team_id) : status_t; cdecl; external BePascalLibName name 'BRoster_xLaunchAppPrivate';
function BRoster_UpdateActiveApp(AObject : TCPlusObject; team : Team_id) : boolean; cdecl; external BePascalLibName name 'BRoster_UpdateActiveApp'; function BRoster_UpdateActiveApp(AObject : TCPlusObject; team : team_id) : Boolean; cdecl; external BePascalLibName name 'BRoster_UpdateActiveApp';
procedure BRoster_SetAppFlags(AObject : TCPlusObject; team : Team_id; flags : Cardinal); cdecl; external BePascalLibName name 'BRoster_SetAppFlags'; procedure BRoster_SetAppFlags(AObject : TCPlusObject; team : team_id; flags : Cardinal); cdecl; external BePascalLibName name 'BRoster_SetAppFlags';
procedure BRoster_DumpRoster(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_DumpRoster'; procedure BRoster_DumpRoster(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_DumpRoster';
function BRoster_resolve_app(AObject : TCPlusObject; in_type : PChar; ref : ^BEntryRef; app_ref : ^BEntryRef; app_sig : PChar; app_flags : Cardinal; was_document : boolean) : Status_t; cdecl; external BePascalLibName name 'BRoster_resolve_app'; function BRoster_resolve_app(AObject : TCPlusObject; in_type : PChar; ref : ^BEntryRef; app_ref : ^BEntryRef; app_sig : PChar; app_flags : Cardinal; was_document : Boolean) : status_t; cdecl; external BePascalLibName name 'BRoster_resolve_app';
function BRoster_translate_ref(AObject : TCPlusObject; ref : ^BEntryRef; app_meta : TCPlusObject; app_ref : ^BEntryRef; app_file : TCPlusObject; app_sig : PChar; was_document : boolean) : Status_t; cdecl; external BePascalLibName name 'BRoster_translate_ref'; function BRoster_translate_ref(AObject : TCPlusObject; ref : ^BEntryRef; app_meta : TCPlusObject; app_ref : ^BEntryRef; app_file : TCPlusObject; app_sig : PChar; was_document : Boolean) : status_t; cdecl; external BePascalLibName name 'BRoster_translate_ref';
function BRoster_translate_type(AObject : TCPlusObject; mime_type : PChar; meta : TCPlusObject; app_ref : ^BEntryRef; app_file : TCPlusObject; app_sig : PChar) : Status_t; cdecl; external BePascalLibName name 'BRoster_translate_type'; function BRoster_translate_type(AObject : TCPlusObject; mime_type : PChar; meta : TCPlusObject; app_ref : ^BEntryRef; app_file : TCPlusObject; app_sig : PChar) : status_t; cdecl; external BePascalLibName name 'BRoster_translate_type';
function BRoster_sniff_file(AObject : TCPlusObject; file : ^BEntryRef; finfo : TCPlusObject; mime_type : PChar) : Status_t; cdecl; external BePascalLibName name 'BRoster_sniff_file'; function BRoster_sniff_file(AObject : TCPlusObject; file : ^BEntryRef; finfo : TCPlusObject; mime_type : PChar) : status_t; cdecl; external BePascalLibName name 'BRoster_sniff_file';
function BRoster_is_wildcard(AObject : TCPlusObject; sig : PChar) : boolean; cdecl; external BePascalLibName name 'BRoster_is_wildcard'; function BRoster_is_wildcard(AObject : TCPlusObject; sig : PChar) : Boolean; cdecl; external BePascalLibName name 'BRoster_is_wildcard';
function BRoster_get_unique_supporting_app(AObject : TCPlusObject; apps : BMessage; out_sig : PChar) : Status_t; cdecl; external BePascalLibName name 'BRoster_get_unique_supporting_app'; function BRoster_get_unique_supporting_app(AObject : TCPlusObject; apps : BMessage; out_sig : PChar) : status_t; cdecl; external BePascalLibName name 'BRoster_get_unique_supporting_app';
function BRoster_get_random_supporting_app(AObject : TCPlusObject; apps : BMessage; out_sig : PChar) : Status_t; cdecl; external BePascalLibName name 'BRoster_get_random_supporting_app'; function BRoster_get_random_supporting_app(AObject : TCPlusObject; apps : BMessage; out_sig : PChar) : status_t; cdecl; external BePascalLibName name 'BRoster_get_random_supporting_app';
function BRoster_build_arg_vector(AObject : TCPlusObject; args : PChar; pargs : integer; app_ref : ^BEntryRef; doc_ref : ^BEntryRef) : PChar; cdecl; external BePascalLibName name 'BRoster_build_arg_vector'; function BRoster_build_arg_vector(AObject : TCPlusObject; args : PChar; pargs : Integer; app_ref : ^BEntryRef; doc_ref : ^BEntryRef) : PChar; cdecl; external BePascalLibName name 'BRoster_build_arg_vector';
function BRoster_send_to_running(AObject : TCPlusObject; tema : Team_id; app_ref : ^BEntryRef; cargs : integer; args : PChar; msg_list : BList; ref : ^BEntryRef) : Status_t; cdecl; external BePascalLibName name 'BRoster_send_to_running'; function BRoster_send_to_running(AObject : TCPlusObject; tema : team_id; app_ref : ^BEntryRef; cargs : Integer; args : PChar; msg_list : BList; ref : ^BEntryRef) : status_t; cdecl; external BePascalLibName name 'BRoster_send_to_running';
procedure BRoster_IniBMessengers(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_IniBMessengers'; procedure BRoster_IniBMessengers(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_IniBMessengers';
procedure BRoster_BMessenger fMess(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_BMessenger fMess'; procedure BRoster_BMessenger fMess(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_BMessenger fMess';
procedure BRoster_BMessenger fMimeMess(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_BMessenger fMimeMess'; procedure BRoster_BMessenger fMimeMess(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BRoster_BMessenger fMimeMess';
@@ -194,22 +211,22 @@ begin
inherited; inherited;
end; end;
function BRoster.IsRunning(mime_sig : PChar) : boolean; function BRoster.IsRunning(mime_sig : PChar) : Boolean;
begin begin
Result := BRoster_IsRunning(CPlusObject, mime_sig); Result := BRoster_IsRunning(CPlusObject, mime_sig);
end; end;
function BRoster.IsRunning(var ref : EntryRef) : boolean; function BRoster.IsRunning(var ref : entry_ref) : Boolean;
begin begin
Result := BRoster_IsRunning(CPlusObject, ref); Result := BRoster_IsRunning(CPlusObject, ref);
end; end;
function BRoster.TeamFor(mime_sig : PChar) : Team_id; function BRoster.TeamFor(mime_sig : PChar) : team_id;
begin begin
Result := BRoster_TeamFor(CPlusObject, mime_sig); Result := BRoster_TeamFor(CPlusObject, mime_sig);
end; end;
function BRoster.TeamFor(var ref : EntryRef) : Team_id; function BRoster.TeamFor(var ref : entry_ref) : team_id;
begin begin
Result := BRoster_TeamFor(CPlusObject, ref); Result := BRoster_TeamFor(CPlusObject, ref);
end; end;
@@ -224,112 +241,112 @@ begin
BRoster_GetAppList(CPlusObject, sig, team_id_list.CPlusObject); BRoster_GetAppList(CPlusObject, sig, team_id_list.CPlusObject);
end; end;
function BRoster.GeAppInfo(sig : PChar; var info : AppInfo) : Status_t; function BRoster.GeAppInfo(sig : PChar; var info : app_info) : status_t;
begin begin
Result := BRoster_GeAppInfo(CPlusObject, sig, info); Result := BRoster_GeAppInfo(CPlusObject, sig, info);
end; end;
function BRoster.GeAppInfo(var ref : EntryRef; var info : AppInfo) : Status_t; function BRoster.GeAppInfo(var ref : entry_ref; var info : app_info) : status_t;
begin begin
Result := BRoster_GeAppInfo(CPlusObject, ref, info); Result := BRoster_GeAppInfo(CPlusObject, ref, info);
end; end;
function BRoster.GetRunningAppInfo(team : Team_id; var info : AppInfo) : Status_t; function BRoster.GetRunningAppInfo(team : team_id; var info : app_info) : status_t;
begin begin
Result := BRoster_GetRunningAppInfo(CPlusObject, team, info); Result := BRoster_GetRunningAppInfo(CPlusObject, team, info);
end; end;
function BRoster.GetActiveAppInfo(var info : AppInfo) : Status_t; function BRoster.GetActiveAppInfo(var info : app_info) : status_t;
begin begin
Result := BRoster_GetActiveAppInfo(CPlusObject, info); Result := BRoster_GetActiveAppInfo(CPlusObject, info);
end; end;
function BRoster.FindApp(mime_type : PChar; var app : EntryRef) : Status_t; function BRoster.FindApp(mime_type : PChar; var app : entry_ref) : status_t;
begin begin
Result := BRoster_FindApp(CPlusObject, mime_type, app); Result := BRoster_FindApp(CPlusObject, mime_type, app);
end; end;
function BRoster.FindApp(var ref : EntryRef; var app : EntryRef) : Status_t; function BRoster.FindApp(var ref : entry_ref; var app : entry_ref) : status_t;
begin begin
Result := BRoster_FindApp_1(CPlusObject, ref, app); Result := BRoster_FindApp_1(CPlusObject, ref, app);
end; end;
function BRoster.Broadcast(msg : BMessage) : Status_t; function BRoster.Broadcast(msg : BMessage) : status_t;
begin begin
Result := BRoster_Broadcast(CPlusObject, msg.CPlusObject); Result := BRoster_Broadcast(CPlusObject, msg.CPlusObject);
end; end;
function BRoster.Broadcast(msg : BMessage; reply_to : BMessenger) : Status_t; function BRoster.Broadcast(msg : BMessage; reply_to : BMessenger) : status_t;
begin begin
Result := BRoster_Broadcast_1(CPlusObject, msg.CPlusObject, reply_to.CPlusObject); Result := BRoster_Broadcast_1(CPlusObject, msg.CPlusObject, reply_to.CPlusObject);
end; end;
function BRoster.StopWatching(target : BMessenger) : Status_t; function BRoster.StopWatching(target : BMessenger) : status_t;
begin begin
Result := BRoster_StopWatching(CPlusObject, target.CPlusObject); Result := BRoster_StopWatching(CPlusObject, target.CPlusObject);
end; end;
function BRoster.ActivateApp(team : Team_id) : Status_t; function BRoster.ActivateApp(team : team_id) : status_t;
begin begin
Result := BRoster_ActivateApp(CPlusObject, team); Result := BRoster_ActivateApp(CPlusObject, team);
end; end;
function BRoster.Launch(mime_type : PChar; initial_msgs : BMessage; var app_team : Team_id) : Status_t; function BRoster.Launch(mime_type : PChar; initial_msgs : BMessage; var app_team : team_id) : status_t;
begin begin
Result := BRoster_Launch(CPlusObject, mime_type, initial_msgs.CPlusObject, app_team); Result := BRoster_Launch(CPlusObject, mime_type, initial_msgs.CPlusObject, app_team);
end; end;
function BRoster.Launch(mime_type : PChar; message_list : BList; var app_team : Team_id) : Status_t; function BRoster.Launch(mime_type : PChar; message_list : BList; var app_team : team_id) : status_t;
begin begin
Result := BRoster_Launch_1(CPlusObject, mime_type, message_list.CPlusObject, app_team); Result := BRoster_Launch_1(CPlusObject, mime_type, message_list.CPlusObject, app_team);
end; end;
function BRoster.Launch(mime_type : PChar; argc : integer; args : PChar; var app_team : Team_id) : Status_t; function BRoster.Launch(mime_type : PChar; argc : Integer; args : PChar; var app_team : team_id) : status_t;
begin begin
Result := BRoster_Launch_2(CPlusObject, mime_type, argc, args, app_team); Result := BRoster_Launch_2(CPlusObject, mime_type, argc, args, app_team);
end; end;
function BRoster.Launch(var ref : EntryRef; initial_message : BMessage; var app_team : Team_id) : Status_t; function BRoster.Launch(var ref : entry_ref; initial_message : BMessage; var app_team : team_id) : status_t;
begin begin
Result := BRoster_Launch_3(CPlusObject, ref, initial_message, app_team); Result := BRoster_Launch_3(CPlusObject, ref, initial_message, app_team);
end; end;
function BRoster.Launch(var ref : EntryRef; message_list : BList; var app_team : Team_id) : Status_t; function BRoster.Launch(var ref : entry_ref; message_list : BList; var app_team : team_id) : status_t;
begin begin
Result := BRoster_Launch_4(CPlusObject, ref, message_list, app_team); Result := BRoster_Launch_4(CPlusObject, ref, message_list, app_team);
end; end;
function BRoster.Launch(var ref : EntryRef; argc : integer; args : PChar; var app_team : Team_id) : Status_t; function BRoster.Launch(var ref : entry_ref; argc : Integer; args : PChar; var app_team : team_id) : status_t;
begin begin
Result := BRoster_Launch_5(CPlusObject, ref, argc, args, app_team); Result := BRoster_Launch_5(CPlusObject, ref, argc, args, app_team);
end; end;
procedure BRoster.GetRecentDocuments(refList : BMessage; maxCount : integer; ofType : PChar; openedByAppSig : PChar); procedure BRoster.GetRecentDocuments(refList : BMessage; maxCount : Integer; ofType : PChar; openedByAppSig : PChar);
begin begin
BRoster_GetRecentDocuments(CPlusObject, refList.CPlusObject, maxCount, ofType, openedByAppSig); BRoster_GetRecentDocuments(CPlusObject, refList.CPlusObject, maxCount, ofType, openedByAppSig);
end; end;
procedure BRoster.GetRecentDocuments(refList : BMessage; maxCount : integer; ofTypeList : PChar; ofTypeListCount : integer; openedByAppSig : PChar); procedure BRoster.GetRecentDocuments(refList : BMessage; maxCount : Integer; ofTypeList : PChar; ofTypeListCount : Integer; openedByAppSig : PChar);
begin begin
BRoster_GetRecentDocuments(CPlusObject, refList.CPlusObject, maxCount, ofTypeList, ofTypeListCount, openedByAppSig); BRoster_GetRecentDocuments(CPlusObject, refList.CPlusObject, maxCount, ofTypeList, ofTypeListCount, openedByAppSig);
end; end;
procedure BRoster.GetRecentFolders(refList : BMessage; maxCount : integer; openedByAppSig : PChar); procedure BRoster.GetRecentFolders(refList : BMessage; maxCount : Integer; openedByAppSig : PChar);
begin begin
BRoster_GetRecentFolders(CPlusObject, refList.CPlusObject, maxCount, openedByAppSig); BRoster_GetRecentFolders(CPlusObject, refList.CPlusObject, maxCount, openedByAppSig);
end; end;
procedure BRoster.GetRecentApps(refList : BMessage; maxCount : integer); procedure BRoster.GetRecentApps(refList : BMessage; maxCount : Integer);
begin begin
BRoster_GetRecentApps(CPlusObject, refList.CPlusObject, maxCount); BRoster_GetRecentApps(CPlusObject, refList.CPlusObject, maxCount);
end; end;
procedure BRoster.AddToRecentDocuments(var doc : EntryRef; appSig : PChar); procedure BRoster.AddToRecentDocuments(var doc : entry_ref; appSig : PChar);
begin begin
BRoster_AddToRecentDocuments(CPlusObject, doc, appSig); BRoster_AddToRecentDocuments(CPlusObject, doc, appSig);
end; end;
procedure BRoster.AddToRecentFolders(var folder : EntryRef; appSig : PChar); procedure BRoster.AddToRecentFolders(var folder : entry_ref; appSig : PChar);
begin begin
BRoster_AddToRecentFolders(CPlusObject, folder, appSig); BRoster_AddToRecentFolders(CPlusObject, folder, appSig);
end; end;
@@ -340,4 +357,4 @@ initialization
finalization finalization
be_roster.UnWrap; be_roster.UnWrap;
be_roster := nil; be_roster := nil;
end. end.