MrSID Decode SDK for Raster Reference Manual
9.5.4.4709
|
00001 /* $Id$ */ 00002 /* ////////////////////////////////////////////////////////////////////////// 00003 // // 00004 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, // 00005 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution // 00006 // prohibited. Access to and use of this code is permitted only under // 00007 // license from LizardTech, Inc. Portions of the code are protected by // 00008 // US and foreign patents and other filings. All Rights Reserved. // 00009 // // 00011 /* PUBLIC */ 00012 00013 #ifndef LT_UTILSTATUSDATA_H 00014 #define LT_UTILSTATUSDATA_H 00015 00016 // lt_lib_base 00017 #include "lt_base.h" 00018 00019 LT_BEGIN_NAMESPACE(LizardTech) 00020 00021 class LTFileSpec; 00022 00023 00086 class LTUtilStatusData 00087 { 00088 public: 00099 static LT_STATUS initialize(); 00100 00109 static LT_STATUS terminate(); 00110 00111 // returns true iff initialize() was called, e.g. system is being used 00112 static bool isActive(); 00113 00114 // push data associated with an error onto the error frame stack 00115 // do begin(), data..., end() 00116 static void pushBegin(LT_STATUS status); 00117 static void pushContext(LT_STATUS status, const char *context); 00118 static void pushUint32(lt_uint32 value); 00119 static void pushInt32(lt_int32 value); 00120 static void pushString(const char *value); 00121 static void pushDouble(double value); 00122 static void pushFileSpec(const LTFileSpec &value); 00123 static void pushEnd(); 00124 00125 // get the top data item off the error frame stack 00126 // returns failure if the data itemis not of the specified type 00127 static LT_STATUS popBegin(LT_STATUS &status); 00128 static LT_STATUS popContext(const char *&context); 00129 static LT_STATUS popString(char *&value); // caller takes ownership of string 00130 static LT_STATUS popEnd(); 00131 00132 // remove the current error frame, if any (this is like doing the pop 00133 // begin/end sequence, if there is an active frame) 00134 static void clear(); 00135 00136 class ErrorState; 00137 }; 00138 00139 00140 LT_END_NAMESPACE(LizardTech) 00141 00142 #endif // LT_UTILSTATUSDATA_H