/* * synergy-plus -- mouse and keyboard sharing utility * Copyright (C) 2009 The Synergy+ Project * Copyright (C) 2003 Chris Schoeneman * * This package is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * found in the file COPYING that should have accompanied this file. * * This package is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef IARCHTASKBAR_H #define IARCHTASKBAR_H #include "IInterface.h" class IArchTaskBarReceiver; //! Interface for architecture dependent task bar control /*! This interface defines the task bar icon operations required by synergy. Each architecture must implement this interface though each operation can be a no-op. */ class IArchTaskBar : public IInterface { public: //! @name manipulators //@{ //! Add a receiver /*! Add a receiver object to be notified of user and application events. This should be called before other methods. When the receiver is added to the task bar, its icon appears on the task bar. */ virtual void addReceiver(IArchTaskBarReceiver*) = 0; //! Remove a receiver /*! Remove a receiver object from the task bar. This removes the icon from the task bar. */ virtual void removeReceiver(IArchTaskBarReceiver*) = 0; //! Update a receiver /*! Updates the display of the receiver on the task bar. This should be called when the receiver appearance may have changed (e.g. it's icon or tool tip has changed). */ virtual void updateReceiver(IArchTaskBarReceiver*) = 0; //@} }; #endif