4 #include "nlite_string.h"
7 //
\83N
\83\89\83X
\90æ
\8ds
\90é
\8c¾
8 class CApplicationInfo;
11 struct GeneralProperty;
13 //
\83O
\83\8d\81[
\83o
\83\8b
14 extern const CApplicationInfo * appInfo;
15 extern CListenerList listenerList;
17 //
\83O
\83\8d\81[
\83o
\83\8b\8aÖ
\90\94
18 extern VOID UnexpectedErrorMessageShow(LPCTSTR headMessage,LPCTSTR summary,UINT line,LPCTSTR fileName,LPCTSTR function);
20 extern HINSTANCE OpenURL(HWND hwnd,const GeneralProperty &gp,LPCTSTR url ,INT nShowCommand);
22 //
\83A
\83v
\83\8a\83P
\81[
\83V
\83\87\83\93\83v
\83\8d\83p
\83e
\83B
23 extern Property nliteProperty;
24 const static UINT_PTR COMMENTVIEW_HEADERITEMSIZE = 5;
26 UM_COMMENTVIEW_SETCTRL = WM_USER + 1,
31 typedef std::tr1::basic_regex<TCHAR> tregex;
33 const static CString URL_TEXT = TEXT("(https?|ftp)(://[-_.!~*\'()a-zA-Z0-9;/?:@&=+$,%#]+)");
34 const static CString TAG_TEXT = TEXT("<[\"#/a-zA-Z0-9= ]*>");
35 const static CString VIDEOID_TEXT = TEXT("(sm|nm)([0-9])+");
36 const static CString LIVEID_TEXT = TEXT("(lv)([0-9])+");
37 const static CString LINK_TEXT = TEXT("(") + URL_TEXT + TEXT(")|(") + VIDEOID_TEXT + TEXT(")|(") + LIVEID_TEXT + TEXT(")");
39 const static tregex URL(text::URL_TEXT);
40 const static tregex TAGSTRING(text::TAG_TEXT);
41 const static tregex VIDEOID(text::VIDEOID_TEXT);
42 const static tregex LIVEID(text::LIVEID_TEXT);
43 const static tregex LILNKREGEX(text::LINK_TEXT);
44 const static tstring NUTHINGSTRING(TEXT(""));
48 ///
\90Ý
\92è
\83t
\83@
\83C
\83\8b\82Ìxml
\93Ç
\82Ý
\8eæ
\82è
\97p
\83N
\83\89\83X
50 class CXmlParser:public CExpatImpl<CXmlParser>{
54 ///
\83R
\83\93\83X
\83g
\83\89\83N
\83^
64 EnableStartElementHandler ();
65 EnableEndElementHandler ();
66 EnableCharacterDataHandler ();
69 virtual void OnStartElement (const XML_Char *pszName, const XML_Char **papszAttrs){}
71 virtual void OnEndElement (const XML_Char *pszName){}
73 virtual void OnCharacterData (const XML_Char *pszData, int nLength){}