#pragma once
-
+#include "nlite_string.h"
namespace nlite{
+ //\83N\83\89\83X\90æ\8ds\90é\8c¾
class CApplicationInfo;
class CListenerList;
+ struct Property;
+ struct GeneralProperty;
- extern const CApplicationInfo* appInfo;
+ //\83O\83\8d\81[\83o\83\8b
+ extern const CApplicationInfo * appInfo;
extern CListenerList listenerList;
-#define NLITE_ERR_MESSAGE_FORMAT "\83n\83\93\83h\83\8b\82³\82ê\82Ä\82¢\82È\82¢\83G\83\89\81[:\r\n%s\r\n\8ds\94Ô\8d\86:%d\r\n\83\\81[\83X\83t\83@\83C\83\8b:%s"
+ //\83O\83\8d\81[\83o\83\8b\8aÖ\90\94
+ extern VOID UnexpectedErrorMessageShow(LPCTSTR headMessage,LPCTSTR summary,UINT line,LPCTSTR fileName,LPCTSTR function);
+
+ extern HINSTANCE OpenURL(HWND hwnd,const GeneralProperty &gp,LPCTSTR url ,INT nShowCommand);
+
+ //\83A\83v\83\8a\83P\81[\83V\83\87\83\93\83v\83\8d\83p\83e\83B
+ extern Property nliteProperty;
+ const static UINT_PTR COMMENTVIEW_HEADERITEMSIZE = 5;
+ enum MESSAGE{
+ UM_COMMENTVIEW_SETCTRL = WM_USER + 1,
+
+ };
+
+ namespace nliteregex{
+ typedef std::tr1::basic_regex<TCHAR> tregex;
+ namespace text{
+ const static CString URL_TEXT = TEXT("(https?|ftp)(://[-_.!~*\'()a-zA-Z0-9;/?:@&=+$,%#]+)");
+ const static CString TAG_TEXT = TEXT("<[\"#/a-zA-Z0-9= ]*>");
+ const static CString VIDEOID_TEXT = TEXT("(sm|nm)([0-9])+");
+ const static CString LIVEID_TEXT = TEXT("(lv)([0-9])+");
+ const static CString LINK_TEXT = TEXT("(") + URL_TEXT + TEXT(")|(") + VIDEOID_TEXT + TEXT(")|(") + LIVEID_TEXT + TEXT(")");
+ }
+ const static tregex URL(text::URL_TEXT);
+ const static tregex TAGSTRING(text::TAG_TEXT);
+ const static tregex VIDEOID(text::VIDEOID_TEXT);
+ const static tregex LIVEID(text::LIVEID_TEXT);
+ const static tregex LILNKREGEX(text::LINK_TEXT);
+ const static tstring NUTHINGSTRING(TEXT(""));
+ }
+
+ ///
+ ///\90Ý\92è\83t\83@\83C\83\8b\82Ìxml\93Ç\82Ý\8eæ\82è\97p\83N\83\89\83X
+ ///
+ class CXmlParser:public CExpatImpl<CXmlParser>{
+
+ public:
+ ///
+ ///\83R\83\93\83X\83g\83\89\83N\83^
+ ///
+ CXmlParser(){
+ this->Create();
+ return;
+ }
+
+
+ void OnPostCreate (){
+
+ EnableStartElementHandler ();
+ EnableEndElementHandler ();
+ EnableCharacterDataHandler ();
+ }
+
+ virtual void OnStartElement (const XML_Char *pszName, const XML_Char **papszAttrs){}
+
+ virtual void OnEndElement (const XML_Char *pszName){}
+
+ virtual void OnCharacterData (const XML_Char *pszData, int nLength){}
+ };
+
}
\ No newline at end of file