Software and Services, Portable Libraries  2019.Mar.01
A library for managing digital certificates
VBase.hpp
Go to the documentation of this file.
1 //
2 // BEGIN_SOFTWARE_AND_SERVICES_COPYRIGHT
3 //
4 // Copyright (C) 2010-2014 Software and Services LLC, All Rights Reserved.
5 //
6 // NOTICE:
7 //
8 // THIS SOURCE CODE BELONGS TO Software and Services LLC.
9 // THIS CODE IS PROPERTY OF THE COPYRIGHT HOLDER AND IS NOT TO
10 // BE DIVULGED OR USED BY PARTIES WHO HAVE NOT RECEIVED WRITTEN
11 // AUTHORIZATION FROM THE OWNER.
12 //
13 // THIS SOFTWARE AND MANUAL ARE BOTH PROTECTED BY UNITED STATES
14 // COPYRIGHT LAW (TITLE 17 UNITED STATES CODE). UNAUTHORIZED REPRODUCTION
15 // AND/OR SALE MAY RESULT IN IMPRISONMENT OF UP TO ONE YEAR AND FINES
16 // OF UP TO $100,000 (17 USC 506). COPYRIGHT INFRINGERS MAY ALSO
17 // BE SUBJECT TO CIVIL LIABILITY.
18 //
19 // THIS NOTICE AND THE ABOVE COPYRIGHT NOTICE MUST REMAIN IN ALL
20 // COPIES AND ANY DERIVED WORK.
21 //
22 // ALL OF THIS CODE IS ORIGINAL WORK BY THE COPYRIGHT HOLDER.
23 //
24 // THIS DOCUMENT AND THE INFORMATION CONTAINED HEREIN IS
25 // PROVIDED ON AN "AS IS" BASIS AND Software and Services LLC.
26 // DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
27 // NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
28 // HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
29 // WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
30 // PURPOSE.
31 //
32 // END_SOFTWARE_AND_SERVICES_COPYRIGHT
33 //
34 
45 #ifndef SOFTWARE_AND_SERVICES_LIBRARY_COMMON_VBASE_HPP_
46 #define SOFTWARE_AND_SERVICES_LIBRARY_COMMON_VBASE_HPP_
47 
48 #ifdef WIN32
49 #pragma warning (disable : 4251)
50 #endif
51 
52 #ifdef BUILDING_SAS_COMMON_LIBRARY
53 #include "osver.h"
54 #include "instance.hpp"
55 #include "File.hpp"
56 #else
57 #include <SaS/Common/osver.h>
58 #include <SaS/Common/instance.hpp>
59 #include <SaS/Common/File.hpp>
60 #endif
61 
62 #ifndef EXPORT_COMMON
63 #ifdef BUILDING_SAS_COMMON_LIBRARY
64 #define EXPORT_COMMON EXPORT_OUT
65 #else
66 #define EXPORT_COMMON EXPORT_IN
67 #endif
68 #endif
69 
70 
71 namespace SoftwareAndServices
72 {
73  namespace Library
74  {
75  namespace Common
76  {
81  class EXPORT_COMMON VBase {
82 
83  public:
84 
89  enum IOError {
92 
95 
98 
101 
109  IoInterrupted_t
110  };
111 
121  virtual bool readObject(File * file) const = 0;
122 
132  virtual bool writeObject(File * file) const = 0;
133  };
134 
135  }
136  }
137 }
138 
139 #endif /*SOFTWARE_AND_SERVICES_LIBRARY_COMMON_VBASE_HPP_*/
Like &#39;FILE&#39;, except C++ implementation and allows sockets and disk files to use same object on WINDOW...
Definition: File.hpp:150
Generic buffered IO.
The File object is nullptr or not open.
Definition: VBase.hpp:94
IOError
An enumerated list of basic I/O errors.
Definition: VBase.hpp:89
Copyright Douglas Mark Royer DouglasRoyer@gmail.com.
Definition: Base.hpp:98
Base class for instance counting objects.
"<SaS/Common/psver.h>" Definitions specific to various OS&#39;s and OS versions.
A pure virtual Base class for reading and writing object.
Definition: VBase.hpp:81