00001 #pragma once
00002
00003 #pragma unmanaged
00004 #include <string>
00005 #include "libCMMLParse/CMMLParser.h"
00006 using namespace std;
00007
00008 #pragma managed
00009
00010 using namespace illiminable::libCMMLTagsDotNET;
00011 using namespace illiminable::libiWrapper;
00012 using namespace System;
00013
00014 namespace illiminable {
00015 namespace libCMMLParserDotNET {
00016
00017
00018
00019 public __gc class CMMLError
00020 {
00021 public:
00022 CMMLError()
00023 {
00024 mCMMLError = new C_CMMLError();
00025 }
00026
00027 void SetLineNumber(int lLineNumber)
00028 {
00029 mCMMLError->SetLineNumber(lLineNumber);
00030 }
00031
00032 int GetLineNumber()
00033 {
00034 return mCMMLError->GetLineNumber();
00035 }
00036
00037 C_CMMLError* getMe()
00038 {
00039 return (C_CMMLError*)mCMMLError;
00040 }
00041
00042
00043 private:
00044 C_CMMLError* mCMMLError;
00045 };
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056 public __gc class CMML_Parser
00057 {
00058 public:
00059 CMML_Parser(void);
00060 ~CMML_Parser(void);
00061
00062
00063
00064
00065
00066 bool parseDocFromFile(String* inFileName, CMMLDoc* outCMMLDoc);
00067
00068
00069 bool parseDocFromBuffer(String* inBuffer, CMMLDoc* outCMMLDoc, CMMLError* outCMMLError);
00070
00071 protected:
00072 CMMLParser* mCMMLParser;
00073 };
00074
00075
00076 }
00077 }