#ifndef __FILTER_H__ #define __FILTER_H__ // Based on the filtering type (All or Table) tags in the given body will // be filtered. What the filter does with the tags will depend on the // next set of flags. The Disable/Remove Option will determine if the tags // are removed or diabled by replacing the '<' with and <. The last flag // controls whether or not embedded links like http:// are activated. If // a link is detected and not put into an tag. #define FILTERTAGS_FILTERALL 0x00000001 #define FILTERTAGS_FILTERTABLE 0x00000002 #define FILTERTAGS_ENABLELINKS 0x00000100 //+------------------------------------------------------------------------ // // Member: HTML_FilterTags // // Synopsis: This function is used to filter HTML tags from a block of // text. Based on the flags the filtering routine can be used // to filter tags out, disable them, and can do a few other // types of filtering. // // Arguments: szContent - This is the block of text that should be // filtered. The filtering is done in place. // Therefore depending on the flags, the block // may grow and there must be enough space in // the buffer for the expansion. // dwMaxLen - This is the size of the buffer, and any // can not exceeed these limits. // iFilterHow - This controls what filtering process is // applied to the data. // pszNewBuffer- This will hold the adress of the dynamic // buffer if there was a need to allocate one // dwNewBufferSize - if not 0 and the initial string is not // large enough to hold the result, a new // buffer of that size will be allocated // // // Returns: HRESULT // // S_OK - means that the data was successfully filtered and // enough space existed to perform all required // modifications to the data. // // Notes: The grsValidTags table is used to determine which tags // and attributes are allowed. // //------------------------------------------------------------------------- HRESULT PROJINTERNAL HTML_FilterTagsA(const CHAR *szSrcContent, CHAR *szDestContent, DWORD *pdwMaxLen, int fFilterHow, CHAR** pszNewBuffer = NULL, DWORD dwNewBufferSize = 0); HRESULT PROJINTERNAL HTML_FilterTagsW(const WCHAR *szSrcContent, WCHAR *szDestContent, DWORD *pdwMaxLen, int fFilterHow, WCHAR** pszNewBuffer = NULL, DWORD dwNewBufferSize = 0); #ifdef UNICODE #define HTML_FilterTags HTML_FilterTagsW #else #define HTML_FilterTags HTML_FilterTagsA #endif #endif // __FILTER_H__