OSDN Git Service

IEコンポーネント使い始めまで
[nlite/nlite.git] / nlite / nlite.h
index cac7b12..8fcd98a 100644 (file)
@@ -1,21 +1,78 @@
 #pragma once
 
 
-
+#include "nlite_string.h"
 namespace nlite{
 
        //\83N\83\89\83X\90æ\8ds\90é\8c¾
        class CApplicationInfo;
        class CListenerList;
+       struct Property;
+       struct GeneralProperty;
 
-       //\83A\83v\83\8a\83P\81[\83V\83\87\83\93\8fî\95ñ\83N\83\89\83X
+       //\83O\83\8d\81[\83o\83\8b
        extern const CApplicationInfo * appInfo;
        extern CListenerList listenerList;
+
+       //\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){}
+       };
 
-#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"
        
 
 }
\ No newline at end of file