summaryrefslogtreecommitdiffstats
path: root/tksao/fitsy++/outsocket.h
blob: 6bdcd995f181f86ee664e8a8116f53aa73777d7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Copyright (C) 1999-2018
// Smithsonian Astrophysical Observatory, Cambridge, MA, USA
// For conditions of distribution and use, see copyright notice in "copyright"

#ifndef __outfitssocket_h__
#define __outfitssocket_h__

#include "outfits.h"
#include "zlib.h"

class OutFitsSocket : public virtual OutFitsStream {
 private:
  int id_;

 public:
  OutFitsSocket(int s);

  int write(char*, size_t);
};

class OutFitsSocketGZ : public virtual OutFitsStream {
 private:
  int id_;
  z_stream* stream_;
  unsigned char* buf_;
  unsigned long crc_;

  int deflategz(int);
  void putlong(unsigned long);

 public:
  OutFitsSocketGZ(int);
  ~OutFitsSocketGZ();

  int write(char*, size_t);
};

#endif