Open Inventor Release 2024.1.3
 
Loading...
Searching...
No Matches
SoReadError.h
1/*=======================================================================
2 * Copyright 1991-1996, Silicon Graphics, Inc.
3 * ALL RIGHTS RESERVED
4 *
5 * UNPUBLISHED -- Rights reserved under the copyright laws of the United
6 * States. Use of a copyright notice is precautionary only and does not
7 * imply publication or disclosure.
8 *
9 * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
10 * Use, duplication or disclosure by the Government is subject to restrictions
11 * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
12 * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
13 * in similar or successor clauses in the FAR, or the DOD or NASA FAR
14 * Supplement. Contractor/manufacturer is Silicon Graphics, Inc.,
15 * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
16 *
17 * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
18 * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
19 * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
20 * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
21 * GRAPHICS, INC.
22**=======================================================================*/
23/*=======================================================================
24** Author : Paul S. Strauss (MMM yyyy)
25**=======================================================================*/
26/*=======================================================================
27 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
28 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
29 *** ***
30 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
31 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
32 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
33 *** ***
34 *** RESTRICTED RIGHTS LEGEND ***
35 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
36 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
37 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
38 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
39 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
40 *** ***
41 *** COPYRIGHT (C) 1996-2014 BY FEI S.A.S, ***
42 *** BORDEAUX, FRANCE ***
43 *** ALL RIGHTS RESERVED ***
44**=======================================================================*/
45/*=======================================================================
46** Modified by : VSG (MMM YYYY)
47**=======================================================================*/
48
49
50#ifndef _SO_READ_ERROR
51#define _SO_READ_ERROR
52
53#include <Inventor/SbBasic.h>
54#include <Inventor/errors/SoError.h>
55
56class SoInput;
57
59//
60// Class: SoReadError
61//
62// This class is used for all errors reported while reading Inventor
63// data files.
64//
66
81class SoReadError : public SoError {
82
83 public:
87 static void setHandlerCallback(SoErrorCB *cb, void *data);
88
94
99 static void* getHandlerData();
100
105
109 virtual SoType getTypeId() const;
110
114 SoPRINTFPREFIX(2,3) static void post(const SoInput *in, const char *formatString ...);
115
116 private:
117 // Initializes SoReadError class
118 static void initClass();
119 static void exitClass();
120 static SoErrorCB* getDefaultHandlerCB() { return defaultHandlerCB; }
121
122 private:
123 // Returns handler callback (and data) to use for a given instance
124 virtual SoErrorCB* getHandler(void *&data) const;
125 virtual bool isInit() const;
126
127 private:
128 // Type id of SoReadError class
129 static SoType classTypeId;
130 // Handler callback for class
131 static SoErrorCB* handlerCB;
132 // User data for callback
133 static void* cbData;
134 // TRUE if handler initialized
135 static SbBool wasInitted;
136};
137
138#endif /* _SO_READ_ERROR */
139
140
Error handling base class.
Definition SoError.h:109
void SoErrorCB(const SoError *error, void *data)
Error handling callbacks are of this type.
Definition SoError.h:69
Used to read Open Inventor data files.
Definition SoInput.h:363
Read error handling.
Definition SoReadError.h:81
static void post(const SoInput *in, const char *formatString ...)
Posts an error.
static void * getHandlerData()
Returns handler data for SoReadError class.
static SoErrorCB * getHandlerCallback()
Returns handler callback for SoReadError class.
static void setHandlerCallback(SoErrorCB *cb, void *data)
Sets handler callback for SoReadError class.
static SoType getClassTypeId()
Returns type identifier for SoReadError class.
virtual SoType getTypeId() const
Returns type identifier for error instance.
Stores runtime type information.
Definition SoType.h:98
int SbBool
Boolean type.
Definition SbBase.h:87