Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TSQLImportClient.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TSQLImportClient.h
1 // $Id: TSQLImportClient.h,v 1.1.1.1 2004/02/18 20:58:02 dave Exp $
2 
3 #ifndef RDBC_TSQLImportClient_h
4 #define RDBC_TSQLImportClient_h
5 
6 // TSQLImportClient ( HTTPImportClient, TTreeImportClient etc. are coming )
7 //
8 // Set of classes used to import data into database
9 
10 #ifndef RDBC_TSQLUrl_h
11 #include <RDBC/TSQLUrl.h>
12 #endif
13 
14 #ifndef ROOT_TString
15 #include "TString.h"
16 #endif
17 
18 class TSQLException;
20 class TSQLImportClient: public TQObject
21 {
22 friend class TSQLImporter;
23 
24 private:
25  Bool_t fMustDeleteLocalFile;// local file will be deleted (downloaded file)
26  TSQLException* fException; // exception
27 
28 protected:
29  TSQLUrl* fUrl; // url
30  TString fLocalFile; // local file
31  TString fTableName; // table name
32  TString fColumns; // column names & types
33  Int_t fStatus; // status (corresponds HTTP Status Codes)
34  Int_t fSkipLines; // number of lines to skip
35 
36  virtual Int_t Init(); //
37  virtual void GET(const TString& url); //
38  virtual void Clean();
39 
40 public:
41  TSQLImportClient(const TString& url);
42  virtual ~TSQLImportClient();
43 
44  virtual TString GetLocal() { return fLocalFile.IsNull() ? 0 : "LOCAL"; }
45  virtual TString GetTableName() { return fTableName; }
46  virtual TString GetColumns() { return fColumns; }
47  virtual TString GetLocalFile() { return fLocalFile; }
48  virtual Bool_t IsValid() { return ((fStatus >= 200)&&(fStatus < 300)); }
49 
50  Int_t GetSkipLines() const { return fSkipLines; }
51  Int_t GetStatus() const { return fStatus; }
52  TSQLException* GetException() const { return fException; }
53 };
54 
55 // from /usr/include/apache/httpd.h
56  #ifndef APACHE_HTTPD_H
57  #define HTTP_CONTINUE 100
58  #define HTTP_SWITCHING_PROTOCOLS 101
59  #define HTTP_PROCESSING 102
60  #define HTTP_OK 200
61  #define HTTP_CREATED 201
62  #define HTTP_ACCEPTED 202
63  #define HTTP_NON_AUTHORITATIVE 203
64  #define HTTP_NO_CONTENT 204
65  #define HTTP_RESET_CONTENT 205
66  #define HTTP_PARTIAL_CONTENT 206
67  #define HTTP_MULTI_STATUS 207
68  #define HTTP_MULTIPLE_CHOICES 300
69  #define HTTP_MOVED_PERMANENTLY 301
70  #define HTTP_MOVED_TEMPORARILY 302
71  #define HTTP_SEE_OTHER 303
72  #define HTTP_NOT_MODIFIED 304
73  #define HTTP_USE_PROXY 305
74  #define HTTP_TEMPORARY_REDIRECT 307
75  #define HTTP_BAD_REQUEST 400
76  #define HTTP_UNAUTHORIZED 401
77  #define HTTP_PAYMENT_REQUIRED 402
78  #define HTTP_FORBIDDEN 403
79  #define HTTP_NOT_FOUND 404
80  #define HTTP_METHOD_NOT_ALLOWED 405
81  #define HTTP_NOT_ACCEPTABLE 406
82  #define HTTP_PROXY_AUTHENTICATION_REQUIRED 407
83  #define HTTP_REQUEST_TIME_OUT 408
84  #define HTTP_CONFLICT 409
85  #define HTTP_GONE 410
86  #define HTTP_LENGTH_REQUIRED 411
87  #define HTTP_PRECONDITION_FAILED 412
88  #define HTTP_REQUEST_ENTITY_TOO_LARGE 413
89  #define HTTP_REQUEST_URI_TOO_LARGE 414
90  #define HTTP_UNSUPPORTED_MEDIA_TYPE 415
91  #define HTTP_RANGE_NOT_SATISFIABLE 416
92  #define HTTP_EXPECTATION_FAILED 417
93  #define HTTP_UNPROCESSABLE_ENTITY 422
94  #define HTTP_LOCKED 423
95  #define HTTP_FAILED_DEPENDENCY 424
96  #define HTTP_INTERNAL_SERVER_ERROR 500
97  #define HTTP_NOT_IMPLEMENTED 501
98  #define HTTP_BAD_GATEWAY 502
99  #define HTTP_SERVICE_UNAVAILABLE 503
100  #define HTTP_GATEWAY_TIME_OUT 504
101  #define HTTP_VERSION_NOT_SUPPORTED 505
102  #define HTTP_VARIANT_ALSO_VARIES 506
103  #define HTTP_INSUFFICIENT_STORAGE 507
104  #define HTTP_NOT_EXTENDED 510
105  #endif //APACHE_HTTPD_H
106 
107 #endif // RDBC_TSQLImportClient_h