diff options
| author | git perforce import user <a@b> | 2016-10-25 12:29:14 -0600 |
|---|---|---|
| committer | Sheikh Dawood Abdul Ajees <Sheikh Dawood Abdul Ajees> | 2016-10-25 18:56:37 -0500 |
| commit | 3dfe2108cfab31ba3ee5527e217d0d8e99a51162 (patch) | |
| tree | fa6485c169e50d7415a651bf838f5bcd0fd3bfbd /KaplaDemo/samples/sampleViewer3/FileScanner.h | |
| download | physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.tar.xz physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.zip | |
Initial commit:
PhysX 3.4.0 Update @ 21294896
APEX 1.4.0 Update @ 21275617
[CL 21300167]
Diffstat (limited to 'KaplaDemo/samples/sampleViewer3/FileScanner.h')
| -rw-r--r-- | KaplaDemo/samples/sampleViewer3/FileScanner.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/KaplaDemo/samples/sampleViewer3/FileScanner.h b/KaplaDemo/samples/sampleViewer3/FileScanner.h new file mode 100644 index 00000000..2ba875aa --- /dev/null +++ b/KaplaDemo/samples/sampleViewer3/FileScanner.h @@ -0,0 +1,64 @@ +#ifndef FILESCANNER_H +#define FILESCANNER_H + +#include <stdio.h> + +#define EOL 10 +#define MAX_BONDS 5 + +#ifdef __BCPLUSPLUS__ +#define STRCMPI(s, t) (strcmpi(s, t)) +#elif defined (__WXWINDOWS25__) && defined (__WXMAC__) && defined (__WXMAC_XCODE__) +#define STRCMPI(s, t) (strcasecmp(s, t)) +#else +#define STRCMPI(s, t) (_stricmp(s, t)) +#endif + +#ifdef __BCPLUSPLUS__ +#define STRNCMPI(s, t, m) (strncmpi(s, t, m)) +#elif defined (__WXWINDOWS25__) && defined (__WXMAC__) && defined (__WXMAC_XCODE__) +#define STRNCMPI(s, t, m) (strncasecmp(s, t, m)) +#else +#define STRNCMPI(s, t, m) (_strnicmp(s, t, m)) +#endif + + +// ------------------------------------------------------------------------------------ +class FileScanner { +// ------------------------------------------------------------------------------------ +public: + FileScanner(); + ~FileScanner(); + + bool open(const char *filename); + void close(); + + void getSymbol(char *sym); + bool checkSymbol(const char *expectedSym, bool caseSensitive = false); + bool getIntSymbol(int &i); + bool getFloatSymbol(float &r); + + bool getBinaryData(void *buffer, int size); // must start after newline + + int getLineNr() const { return lineNr; } + int getPositionNr() const { return (int)(pos - line); } + + bool endReached() const { if (feof(f)) return true; else return false; } + + void setErrorMessage(char *msg); + + char errorMessage[256]; + + // ------------------------------------------------------ + static bool equalSymbol(const char *sym, const char *expectedSym, bool caseSensitive = false); + static const int maxLineLen = 1024; + +private: + void getNextLine(); + FILE *f; + int lineNr; + char line[maxLineLen+1]; + char *pos; +}; + +#endif
\ No newline at end of file |