1 #ifndef CLIB_COMMODITIES_PROTOS_H
    2 #define CLIB_COMMODITIES_PROTOS_H
    3 
    4 /*
    5 	commodities.library C prototypes
    6 
    7 	Copyright © 2002 The MorphOS Development Team, All Rights Reserved.
    8 */
    9 
   10 #ifndef EXEC_TYPES_H
   11 # include <exec/types.h>
   12 #endif
   13 
   14 #ifndef EXEC_TASKS_H
   15 # include <exec/tasks.h>
   16 #endif
   17 
   18 #ifndef EXEC_NODES_H
   19 # include <exec/nodes.h>
   20 #endif
   21 
   22 #ifndef LIBRARIES_COMMODITIES_H
   23 # include <libraries/commodities.h>
   24 #endif
   25 
   26 #ifndef DEVICES_INPUTEVENT_H
   27 # include <devices/inputevent.h>
   28 #endif
   29 
   30 #ifndef DEVICES_KEYMAP_H
   31 # include <devices/keymap.h>
   32 #endif
   33 
   34 
   35 #ifdef __cplusplus
   36 extern "C" {
   37 #endif /* __cplusplus */
   38 
   39 CxObj *CreateCxObj( ULONG type, LONG arg1, LONG arg2 );
   40 CxObj *CxBroker( CONST struct NewBroker *nb, LONG *error );
   41 LONG ActivateCxObj( CxObj *co, LONG doIt );
   42 VOID DeleteCxObj( CxObj *co );
   43 VOID DeleteCxObjAll( CxObj *co );
   44 ULONG CxObjType( CONST CxObj *co );
   45 LONG CxObjError( CONST CxObj *co );
   46 VOID ClearCxObjError( CxObj *co );
   47 LONG SetCxObjPri( CxObj *co, LONG pri );
   48 
   49 VOID AttachCxObj( CxObj *headObj, CxObj *co );
   50 VOID EnqueueCxObj( CxObj *headObj, CxObj *co );
   51 VOID InsertCxObj( CxObj *headObj, CxObj *co, CxObj *pred );
   52 VOID RemoveCxObj( CxObj *co );
   53 
   54 VOID SetTranslate( CxObj *translator, struct InputEvent *events );
   55 VOID SetFilter( CxObj *filter, CONST_STRPTR text );
   56 VOID SetFilterIX( CxObj *filter, CONST IX *ix );
   57 LONG ParseIX( CONST_STRPTR description, IX *ix );
   58 
   59 ULONG CxMsgType( CONST CxMsg *cxm );
   60 APTR CxMsgData( CONST CxMsg *cxm );
   61 LONG CxMsgID( CONST CxMsg *cxm );
   62 
   63 VOID DivertCxMsg( CxMsg *cxm, CxObj *headObj, CxObj *returnObj );
   64 VOID RouteCxMsg( CxMsg *cxm, CxObj *co );
   65 VOID DisposeCxMsg( CxMsg *cxm );
   66 
   67 BOOL InvertKeyMap( ULONG ansiCode, struct InputEvent *event, CONST struct KeyMap *km );
   68 VOID AddIEvents( struct InputEvent *events );
   69 BOOL MatchIX( CONST struct InputEvent *event, CONST IX *ix );
   70 
   71 #ifdef __cplusplus
   72 }
   73 #endif /* __cplusplus */
   74 
   75 
   76 #endif /* CLIB_COMMODITIES_PROTOS_H */