00001 // $Id$ 00002 00003 //********************************************************************** 00004 // * 00005 // Description: 'Bell Master' Block instrument tapper class. * 00006 // * 00007 // Author: Chris White (whitecf@bcs.org.uk) * 00008 // * 00009 // Copyright (C) 2002 Monitor Computing Services Ltd. * 00010 // * 00011 // This program is free software; you can redistribute it and/or * 00012 // modify it under the terms of the GNU General Public License * 00013 // as published by the Free Software Foundation; either version 2 * 00014 // of the License, or any later version. * 00015 // * 00016 // This program is distributed in the hope that it will be useful, * 00017 // but WITHOUT ANY WARRANTY; without even the implied warranty of * 00018 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00019 // GNU General Public License for more details. * 00020 // * 00021 // You should have received a copy of the GNU General Public * 00022 // License (http://www.gnu.org/copyleft/gpl.html) along with this * 00023 // program; if not, write to: * 00024 // The Free Software Foundation Inc., * 00025 // 59 Temple Place - Suite 330, * 00026 // Boston, MA 02111-1307, * 00027 // USA. * 00028 // * 00029 //********************************************************************** 00030 // * 00031 // Notes: * 00032 // * 00033 //********************************************************************** 00034 00035 #include "bell.h" 00036 #include "mytrace.h" 00037 00038 #include "tapper.h" 00039 00040 00041 using namespace Monitor::BellMaster; 00042 00043 00044 00045 Tapper::Tapper(Bell &newBell) : 00046 bell(newBell) 00047 { 00048 _USEMYTRACE_("Tapper::Tapper") 00049 } 00050 00051 00052 00053 Tapper::~Tapper() 00054 { 00055 _USEMYTRACE_("Tapper::~Tapper") 00056 } 00057 00058 00059 00060 void 00061 Tapper::beat() const 00062 { 00063 _USEMYTRACE_("Tapper::beat") 00064 00065 00066 try 00067 { 00068 bell.ring(); 00069 } 00070 catch(Bell::Busy&) 00071 { 00072 } 00073 } 00074 00075 00076 00077 void 00078 Tapper::beat(unsigned *sequence) const 00079 { 00080 _USEMYTRACE_("Tapper::beat(sequence)") 00081 00082 00083 try 00084 { 00085 bell.ring(sequence); 00086 } 00087 catch(Bell::Busy&) 00088 { 00089 } 00090 } 00091