Ignore:
Timestamp:
11/05/07 10:05:50 (16 years ago)
Author:
Nicholas Riley
Message:

VERSION: Updated for 1.1d2.

CPS.h: Remove unused definitions. typedef ProcessSerialNumber CPSProcessSerNum to eliminate warnings.

main.c: Updated for 1.1d2. Remove getInfoCString because it depends on undocumented C behavior that broke in Leopard; replace with ugly CFString code because CFStringCreateWithFormat is stupid. Add Radar references.

README: Updated for 1.1d2 and new compiler. Add Radar references.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/appswitch/appswitch/CPS.h

    r92 r345  
    1919
    2020
    21 struct CPSProcessSerNum
    22 {
    23         UInt32          lo;
    24         UInt32          hi;
    25 };
    26 
    27 typedef struct CPSProcessSerNum CPSProcessSerNum;
    28 
    29 enum
    30 {
    31         kCPSNoProcess           =       0,
    32         kCPSSystemProcess       =       1,
    33         kCPSCurrentProcess      =       2
    34 };
    35 
    36 
    37 enum
    38 {
    39         bfCPSIntraProcessSwitch =       1,
    40         bfCPSDeathBySignal      =       2
    41 };
    42 
    43 typedef UInt16  CPSEventFlags;
    44 
    45 
    46 enum
    47 {
    48         kCPSBlueApp     =       0,
    49         kCPSBlueBox     =       1,
    50         kCPSCarbonApp   =       2,
    51         kCPSYellowApp   =       3,
    52         kCPSUnknownApp  =       4
    53 };
    54 
    55 typedef UInt32  CPSAppFlavour;
    56 
    57 
    58 enum
    59 {
    60         kCPSBGOnlyAttr          =       1024,
    61         kCPSUIElementAttr       =       65536,
    62         kCPSHiddenAttr          =       131072,
    63         kCPSNoConnectAttr       =       262144,
    64         kCPSFullScreenAttr      =       524288,
    65         kCPSClassicReqAttr      =       1048576,
    66         kCPSNativeReqAttr       =       2097152
    67 };
    68 
    69 typedef UInt32  CPSProcAttributes;
    70 
    71 
    72 struct CPSProcessInfoRec
    73 {
    74         CPSProcessSerNum        Parent;
    75         UInt64                  LaunchDate;
    76         CPSAppFlavour           Flavour;
    77         CPSProcAttributes       Attributes;
    78         UInt32                  ExecFileType;
    79         UInt32                  ExecFileCreator;
    80         SInt32                  UnixPID; // njr changed from UInt32
    81 };
    82 
    83 typedef struct CPSProcessInfoRec        CPSProcessInfoRec;
    84 
    85 
    86 enum
    87 {
    88         kCPSNotifyChildDeath    =       1,
    89         kCPSNotifyNewFront      =       2,
    90         kCPSNotifyAppBirth      =       4,
    91         kCPSNotifyAppDeath      =       8,
    92         kCPSNotifyLaunch        =       9,
    93         kCPSNotifyServiceReq    =       16,
    94         kCPSNotifyAppHidden     =       32,
    95         kCPSNotifyAppRevealed   =       64,
    96         kCPSNotifyFGEnabled     =       128,
    97         kCPSNotifyLaunchStart   =       256,
    98         kCPSNotifyAppReady      =       512,
    99         kCPSNotifyLaunchFail    =       1024,
    100         kCPSNotifyAppDeathExt   =       2048,
    101         kCPSNotifyLostKeyFocus  =       4096
    102 };
    103 
    104 typedef UInt32  CPSNotificationCodes;
    105 
    106 
    107 enum
    108 {
    109         bfCPSLaunchInhibitDaemon        =       128,
    110         bfCPSLaunchDontSwitch           =       512,
    111         bfCPSLaunchNoProcAttr           =       2048,
    112         bfCPSLaunchAsync                =       65536,
    113         bfCPSLaunchStartClassic         =       131072,
    114         bfCPSLaunchInClassic            =       262144,
    115         bfCPSLaunchInstance             =       524288,
    116         bfCPSLaunchAndHide              =       1048576,
    117         bfCPSLaunchAndHideOthers        =       2097152
    118 };
    119 
    120 typedef UInt32  CPSLaunchOptions;
    121 
    122 
    123 typedef UInt8   *CPSLaunchRefcon;
    124 
    125 
    126 typedef UInt8   *CPSLaunchData;
    127 
    128 
    129 enum
    130 {
    131         bfCPSExtLaunchWithData  =       2,
    132         bfCPSExtLaunchByParent  =       4,
    133         bfCPSExtLaunchAsUidGid  =       8
    134 };
    135 
    136 typedef UInt32  CPSLaunchPBFields;
    137 
    138 
    139 struct CPSLaunchPB
    140 {
    141         CPSLaunchPBFields       Contents;
    142         CPSLaunchData           pData;
    143         UInt32                  DataLen;
    144         UInt32                  DataTag;
    145         UInt32                  RefCon;
    146         CPSProcessSerNum        Parent;
    147         UInt32                  ChildUID;
    148         UInt32                  ChildGID;
    149 };
    150 
    151 typedef struct CPSLaunchPB      CPSLaunchPB;
    152 
    153 
    154 enum
    155 {
    156         bfCPSKillHard           =       1,
    157         bfCPSKillAllClassicApps =       2
    158 };
    159 
    160 typedef UInt32  CPSKillOptions;
    161 
    162 
    163 enum
    164 {
    165         kCPSLaunchService       =       0,
    166         kCPSKillService         =       1,
    167         kCPSHideService         =       2,
    168         kCPSShowService         =       3,
    169         kCPSPrivService         =       4,
    170         kCPSExtDeathNoteService =       5
    171 };
    172 
    173 typedef UInt32  CPSServiceReqType;
    174 
    175 
    176 struct CPSLaunchRequest
    177 {
    178         CPSProcessSerNum        TargetPSN;
    179         CPSLaunchOptions        Options;
    180         CPSProcAttributes       ProcAttributes;
    181         UInt8                   *pUTF8TargetPath;
    182         UInt32                  PathLen;
    183 };
    184 
    185 typedef struct CPSLaunchRequest CPSLaunchRequest;
    186 
    187 
    188 struct CPSKillRequest
    189 {
    190         CPSProcessSerNum        TargetPSN;
    191         CPSKillOptions          Options;
    192 };
    193 
    194 typedef struct CPSKillRequest   CPSKillRequest;
    195 
    196 
    197 struct CPSHideRequest
    198 {
    199         CPSProcessSerNum        TargetPSN;
    200 };
    201 
    202 typedef struct CPSHideRequest   CPSHideRequest;
    203 
    204 
    205 struct CPSShowRequest
    206 {
    207         CPSProcessSerNum        TargetPSN;
    208 };
    209 
    210 typedef struct CPSShowRequest   CPSShowRequest;
    211 
    212 
    213 struct CPSExtDeathNotice
    214 {
    215         CPSProcessSerNum        DeadPSN;
    216         UInt32                  Flags;
    217         UInt8                   *pUTF8AppPath;
    218         UInt32                  PathLen;
    219 };
    220 
    221 typedef struct CPSExtDeathNotice        CPSExtDeathNotice;
    222 
    223 
    224 union CPSRequestDetails
    225 {
    226         CPSLaunchRequest        LaunchReq;
    227         CPSKillRequest          KillReq;
    228         CPSHideRequest          HideReq;
    229         CPSShowRequest          ShowReq;
    230         CPSExtDeathNotice       DeathNotice;
    231 };
    232 
    233 typedef union CPSRequestDetails CPSRequestDetails;
    234 
    235 
    236 struct CPSServiceRequest
    237 {
    238         CPSServiceReqType       Type;
    239         SInt32                  ID;
    240         CPSRequestDetails       Details;
    241 };
    242 
    243 typedef struct CPSServiceRequest        CPSServiceRequest;
    244 
    245 
    246 enum
    247 {
    248         kCPSProcessInterruptKey =       0,
    249         kCPSAppSwitchFwdKey     =       1,
    250         kCPSAppSwitchBackKey    =       2,
    251         kCPSSessionInterruptKey =       3,
    252         kCPSScreenSaverKey      =       4,
    253         kCPSDiskEjectKey        =       5,
    254         kCPSSpecialKeyCount     =       6
    255 };
    256 
    257 typedef SInt32  CPSSpecialKeyID;
    258 
    259 
    260 extern Boolean  CPSEqualProcess( CPSProcessSerNum *psn1, CPSProcessSerNum *psn2);
    261 
    262 extern OSErr    CPSGetCurrentProcess( CPSProcessSerNum *psn);
    263 
    264 extern OSErr    CPSGetFrontProcess( CPSProcessSerNum *psn);
    265 
    266 extern OSErr    CPSGetNextProcess( CPSProcessSerNum *psn);
    267 
    268 extern OSErr    CPSGetNextToFrontProcess( CPSProcessSerNum *psn);
    269 
    270 extern OSErr    CPSGetProcessInfo( CPSProcessSerNum *psn, CPSProcessInfoRec *info, char *path, int maxPathLen, int *len, char *name, int maxNameLen);
     21typedef ProcessSerialNumber CPSProcessSerNum;
    27122
    27223extern OSErr    CPSPostHideMostReq( CPSProcessSerNum *psn);
    27324
    274 extern OSErr    CPSPostHideReq( CPSProcessSerNum *psn);
    275 
    276 extern OSErr    CPSPostKillRequest( CPSProcessSerNum *psn, CPSKillOptions options);
    277 
    27825extern OSErr    CPSPostShowAllReq( CPSProcessSerNum *psn);
    279 
    280 extern OSErr    CPSPostShowReq( CPSProcessSerNum *psn);
    281 
    282 extern OSErr    CPSSetFrontProcess( CPSProcessSerNum *psn);
    283 
    284 extern OSErr    CPSReleaseKeyFocus( CPSProcessSerNum *psn);
    285 
    286 extern OSErr    CPSStealKeyFocus( CPSProcessSerNum *psn);
    287 
    28826
    28927#if PRAGMA_STRUCT_ALIGN
Note: See TracChangeset for help on using the changeset viewer.