mirror of
https://github.com/reactos/reactos.git
synced 2025-04-05 05:01:03 +00:00
[PDSK]
Add two headers: chstring.h and provexce.h They are used for framedyn.dll stuff, for instance So far, the CHString class is not fully populated. It is only populated with exported stuff from framedyn.dll svn path=/trunk/; revision=59939
This commit is contained in:
parent
af5ce0ae6b
commit
dd724bbd3c
2 changed files with 135 additions and 0 deletions
112
reactos/include/psdk/chstring.h
Normal file
112
reactos/include/psdk/chstring.h
Normal file
|
@ -0,0 +1,112 @@
|
|||
#pragma once
|
||||
|
||||
#ifndef _CHSTRING_H
|
||||
#define _CHSTRING_H
|
||||
|
||||
#include <windows.h>
|
||||
#include <provexce.h>
|
||||
|
||||
struct CHStringData
|
||||
{
|
||||
long nRefs;
|
||||
int nDataLength;
|
||||
int nAllocLength;
|
||||
|
||||
WCHAR* data()
|
||||
{
|
||||
return (WCHAR*)(this+1);
|
||||
}
|
||||
};
|
||||
|
||||
class CHString
|
||||
{
|
||||
public:
|
||||
CHString();
|
||||
CHString(WCHAR ch, int nRepeat = 1) throw (CHeap_Exception);
|
||||
CHString(LPCWSTR lpsz) throw (CHeap_Exception);
|
||||
CHString(LPCWSTR lpch, int nLength) throw (CHeap_Exception);
|
||||
CHString(LPCSTR lpsz) throw (CHeap_Exception);
|
||||
CHString(const CHString& stringSrc);
|
||||
CHString(const unsigned char* lpsz);
|
||||
~CHString();
|
||||
|
||||
BSTR AllocSysString() const throw (CHeap_Exception);
|
||||
int Collate(LPCWSTR lpsz) const;
|
||||
int Compare(LPCWSTR lpsz) const;
|
||||
int CompareNoCase(LPCWSTR lpsz) const;
|
||||
void Empty();
|
||||
int Find(WCHAR ch) const;
|
||||
int Find(LPCWSTR lpszSub) const;
|
||||
int FindOneOf(LPCWSTR lpszCharSet) const;
|
||||
void Format(UINT nFormatID, ...) throw (CHeap_Exception);
|
||||
void Format(LPCWSTR lpszFormat, ...) throw (CHeap_Exception);
|
||||
void FormatMessageW(UINT nFormatID, ...) throw (CHeap_Exception);
|
||||
void FormatMessageW(LPCWSTR lpszFormat, ...) throw (CHeap_Exception);
|
||||
void FormatV(LPCWSTR lpszFormat, va_list argList);
|
||||
void FreeExtra() throw (CHeap_Exception);
|
||||
int GetAllocLength() const;
|
||||
WCHAR GetAt(int nIndex) const;
|
||||
LPWSTR GetBuffer(int nMinBufLength) throw (CHeap_Exception);
|
||||
LPWSTR GetBufferSetLength(int nNewLength) throw (CHeap_Exception);
|
||||
int GetLength() const;
|
||||
BOOL IsEmpty() const;
|
||||
CHString Left(int nCount) const throw (CHeap_Exception);
|
||||
LPWSTR LockBuffer();
|
||||
void MakeLower() throw (CHeap_Exception);
|
||||
void MakeReverse() throw (CHeap_Exception);
|
||||
void MakeUpper() throw (CHeap_Exception);
|
||||
CHString Mid(int nFirst) const throw (CHeap_Exception);
|
||||
CHString Mid(int nFirst, int nCount) const throw (CHeap_Exception);
|
||||
void Release();
|
||||
void Release(CHStringData* pData);
|
||||
void ReleaseBuffer(int nNewLength = -1) throw (CHeap_Exception);
|
||||
int ReverseFind(WCHAR ch) const;
|
||||
CHString Right(int nCount) const throw (CHeap_Exception);
|
||||
void SetAt(int nIndex, WCHAR ch) throw (CHeap_Exception);
|
||||
CHString SpanExcluding(LPCWSTR lpszCharSet) const throw (CHeap_Exception);
|
||||
CHString SpanIncluding(LPCWSTR lpszCharSet) const throw (CHeap_Exception);
|
||||
void TrimLeft() throw (CHeap_Exception);
|
||||
void TrimRight() throw (CHeap_Exception);
|
||||
void UnlockBuffer();
|
||||
|
||||
const CHString& operator=(char ch) throw (CHeap_Exception);
|
||||
const CHString& operator=(WCHAR ch) throw (CHeap_Exception);
|
||||
const CHString& operator=(CHString *p) throw (CHeap_Exception);
|
||||
const CHString& operator=(LPCSTR lpsz) throw (CHeap_Exception);
|
||||
const CHString& operator=(LPCWSTR lpsz) throw (CHeap_Exception);
|
||||
const CHString& operator=(const CHString& stringSrc) throw (CHeap_Exception);
|
||||
const CHString& operator=(const unsigned char* lpsz) throw (CHeap_Exception);
|
||||
|
||||
const CHString& operator+=(char ch) throw (CHeap_Exception);
|
||||
const CHString& operator+=(WCHAR ch) throw (CHeap_Exception);
|
||||
const CHString& operator+=(LPCWSTR lpsz) throw (CHeap_Exception);
|
||||
const CHString& operator+=(const CHString& string) throw (CHeap_Exception);
|
||||
|
||||
WCHAR operator[](int nIndex) const;
|
||||
|
||||
operator LPWSTR();
|
||||
|
||||
friend CHString WINAPI operator+(WCHAR ch, const CHString& string) throw (CHeap_Exception);
|
||||
friend CHString WINAPI operator+(const CHString& string, WCHAR ch) throw (CHeap_Exception);
|
||||
friend CHString WINAPI operator+(const CHString& string, LPCWSTR lpsz) throw (CHeap_Exception);
|
||||
friend CHString WINAPI operator+(LPCWSTR lpsz, const CHString& string) throw (CHeap_Exception);
|
||||
friend CHString WINAPI operator+(const CHString& string1, const CHString& string2) throw (CHeap_Exception);
|
||||
|
||||
protected:
|
||||
LPWSTR m_pchData;
|
||||
|
||||
void AllocBeforeWrite(int nLen) throw (CHeap_Exception);
|
||||
void AllocBuffer(int nLen) throw (CHeap_Exception);
|
||||
void AllocCopy(CHString& dest, int nCopyLen, int nCopyIndex, int nExtraLen) const throw (CHeap_Exception);
|
||||
void AssignCopy(int nSrcLen, LPCWSTR lpszSrcData) throw (CHeap_Exception);
|
||||
void ConcatCopy(int nSrc1Len, LPCWSTR lpszSrc1Data, int nSrc2Len, LPCWSTR lpszSrc2Data) throw (CHeap_Exception);
|
||||
void ConcatInPlace(int nSrcLen, LPCWSTR lpszSrcData);
|
||||
void CopyBeforeWrite() throw (CHeap_Exception);
|
||||
CHStringData* GetData() const;
|
||||
void Init();
|
||||
int LoadStringW(UINT nID) throw (CHeap_Exception);
|
||||
int LoadStringW(UINT nID, LPWSTR lpszBuf, UINT nMaxBuf) throw (CHeap_Exception);
|
||||
static int WINAPI SafeStrlen(LPCWSTR lpsz);
|
||||
};
|
||||
|
||||
#endif
|
23
reactos/include/psdk/provexce.h
Normal file
23
reactos/include/psdk/provexce.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
#pragma once
|
||||
|
||||
#ifndef _PROVIDER_EXCEPT_H
|
||||
#define _PROVIDER_EXCEPT_H
|
||||
|
||||
class CHeap_Exception
|
||||
{
|
||||
public:
|
||||
enum HEAP_ERROR
|
||||
{
|
||||
E_ALLOCATION_ERROR = 0 ,
|
||||
E_FREE_ERROR
|
||||
};
|
||||
|
||||
CHeap_Exception(HEAP_ERROR e) : m_Error(e) {}
|
||||
~CHeap_Exception() {}
|
||||
|
||||
HEAP_ERROR GetError() { return m_Error ; }
|
||||
private:
|
||||
HEAP_ERROR m_Error;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Reference in a new issue