1 /* GSKrabDesktopInterface.h - this file is part of GSKrab 2 * 3 * Copyright (C) 2006 Wolfgang Sourdeau 4 * 5 * Author: Wolfgang Sourdeau <Wolfgang@Contre.COM> 6 * 7 * This file is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2, or (at your option) 10 * any later version. 11 * 12 * This file is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; see the file COPYING. If not, write to 19 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20 * Boston, MA 02111-1307, USA. 21 */ 22 23 #ifndef GSKRABDESKTOPINTERFACE_H 24 #define GSKRABDESKTOPINTERFACE_H 25 26 typedef enum _GSKrabKeyCode 27 { 28 GSKrabNone = -1, 29 GSKrabPlay = 1, 30 GSKrabStop, 31 GSKrabTrackNext, 32 GSKrabTrackPrevious, 33 GSKrabVolumeMute, 34 GSKrabVolumeIncrease, 35 GSKrabVolumeDecrease, 36 GSKrabEject, 37 GSKrabWWW, 38 GSKrabMail, 39 GSKrabMaxNumberOfKeys, 40 } GSKrabKeyCode; 41 42 @class GSKrabManager; 43 44 @protocol GSKrabDesktopInterface 45 46 + (id) sharedInterface; 47 48 - (void) setManager: (GSKrabManager *) krabManager; 49 50 - (void) start; 51 - (void) stop; 52 - (void) registerKeyCode: (GSKrabKeyCode) keyCode; 53 - (void) unregisterKeyCode: (GSKrabKeyCode) keyCode; 54 55 @end 56 57 @protocol GSKrabKeyClient 58 59 - (BOOL) handleKey: (int) key; 60 61 @end 62 63 #endif /* GSKRABDESKTOPINTERFACE_H */ 64