libdap
Updated for version 3.20.6
libdap4 is an implementation of OPeNDAP's DAP protocol.
AlarmHandler.h
1
2
// -*- mode: c++; c-basic-offset:4 -*-
3
4
// This file is part of libdap, A C++ implementation of the OPeNDAP Data
5
// Access Protocol.
6
7
// Copyright (c) 2002,2003 OPeNDAP, Inc.
8
// Author: James Gallagher <jgallagher@opendap.org>
9
//
10
// This library is free software; you can redistribute it and/or
11
// modify it under the terms of the GNU Lesser General Public
12
// License as published by the Free Software Foundation; either
13
// version 2.1 of the License, or (at your option) any later version.
14
//
15
// This library is distributed in the hope that it will be useful,
16
// but WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18
// Lesser General Public License for more details.
19
//
20
// You should have received a copy of the GNU Lesser General Public
21
// License along with this library; if not, write to the Free Software
22
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23
//
24
// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
25
26
#ifndef alarm_handler_h
27
#define alarm_handler_h
28
29
#include <cstdio>
30
31
#include <string>
32
33
#include "EventHandler.h"
34
35
namespace
libdap
36
{
37
45
class
AlarmHandler
:
public
EventHandler
46
{
47
private
:
48
FILE *d_file;
// Sink for the Error object.
49
string
d_version;
50
51
public
:
52
// Ensure that d_stream gets initialized...
53
AlarmHandler
() : d_file( 0 )
54
{}
55
56
explicit
AlarmHandler
(FILE *s) : d_file(s)
//, d_stream( cout )
57
{}
58
62
explicit
AlarmHandler
(ostream &) : d_file(0)
63
{}
64
65
virtual
~
AlarmHandler
()
66
{
67
if
( d_file )
68
fclose( d_file ) ;
69
}
70
82
virtual
void
handle_signal
(
int
signum)
83
{
84
if
(signum != SIGALRM)
85
throw
Error
(
"SIGALRM handler caught another signal!"
);
86
87
throw
Error
(
"Timeout"
);
88
}
89
90
};
91
92
}
// namespace libdap
93
94
#endif
libdap::EventHandler
Definition:
EventHandler.h:42
libdap::AlarmHandler::AlarmHandler
AlarmHandler(ostream &)
Definition:
AlarmHandler.h:62
libdap
top level DAP object to house generic methods
Definition:
AISConnect.cc:30
libdap::AlarmHandler::handle_signal
virtual void handle_signal(int signum)
Definition:
AlarmHandler.h:82
libdap::Error
A class for error processing.
Definition:
Error.h:92
libdap::AlarmHandler
Definition:
AlarmHandler.h:45
AlarmHandler.h
Generated by
1.8.13