mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 10:44:56 +00:00
Fixed some warnings, slight rework of the taghandling classes.
This commit is contained in:
parent
2ca4f27e3e
commit
e6eb645ff6
@ -103,8 +103,8 @@ static CTokenRecycler gTokenRecycler;
|
||||
***************************************************************/
|
||||
class CTagHandlerDeallocator: public nsDequeFunctor{
|
||||
public:
|
||||
virtual void* operator()(void* anObject) {
|
||||
nsITagHandler* tagHandler =(nsITagHandler*)anObject;
|
||||
virtual void* operator()(void* aObject) {
|
||||
nsITagHandler* tagHandler = (nsITagHandler*)aObject;
|
||||
delete tagHandler;
|
||||
return 0;
|
||||
}
|
||||
@ -115,29 +115,23 @@ public:
|
||||
check for a Tag name, and setting the current TagHandler when it is reached
|
||||
***************************************************************/
|
||||
class CTagFinder: public nsDequeFunctor{
|
||||
|
||||
public:
|
||||
CTagFinder(){mTagName = nsnull;}
|
||||
void Initialize(nsAutoString* aTagName) {mTagName = aTagName;}
|
||||
CTagFinder(){}
|
||||
void Initialize(const nsString &aTagName) {mTagName = aTagName;}
|
||||
|
||||
virtual ~CTagFinder() {
|
||||
}
|
||||
|
||||
virtual void* operator()(void* anObject)
|
||||
{
|
||||
nsITagHandler* thetaghandler;
|
||||
nsAutoString *thestring;
|
||||
|
||||
//mCurTagHandler = 0;
|
||||
thestring = ((nsITagHandler*)anObject)->GetString();
|
||||
if( thestring->Equals(*mTagName)){
|
||||
//thetaghandler = (nsITagHandler*)anObject;
|
||||
return anObject;
|
||||
}
|
||||
virtual void* operator()(void* aObject) {
|
||||
nsString* theString = ((nsITagHandler*)aObject)->GetString();
|
||||
if( theString->Equals(mTagName)){
|
||||
return aObject;
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
|
||||
nsAutoString* mTagName;
|
||||
//nsITagHandler* mCurTagHandler;
|
||||
nsAutoString mTagName;
|
||||
};
|
||||
|
||||
/***************************************************************
|
||||
@ -151,29 +145,32 @@ public:
|
||||
CTagHandlerRegister() : mDeallocator(), mTagHandlerDeque(mDeallocator) {
|
||||
}
|
||||
|
||||
~CTagHandlerRegister() {
|
||||
}
|
||||
|
||||
void RegisterTagHandler(nsAutoString *aTagName,nsITagHandler *aTagHandler){
|
||||
aTagHandler->SetString(aTagName);
|
||||
void RegisterTagHandler(nsITagHandler *aTagHandler){
|
||||
mTagHandlerDeque.Push(aTagHandler);
|
||||
}
|
||||
|
||||
nsITagHandler* FindTagHandler(nsAutoString* aTagName){
|
||||
nsITagHandler *foundhandler = nsnull;
|
||||
nsITagHandler* FindTagHandler(const nsString &aTagName){
|
||||
nsITagHandler* foundHandler = nsnull;
|
||||
|
||||
mTagFinder.Initialize(aTagName);
|
||||
mTagHandlerDeque.Begin();
|
||||
foundhandler = (nsITagHandler*) mTagHandlerDeque.FirstThat(mTagFinder);
|
||||
return foundhandler;
|
||||
foundHandler = (nsITagHandler*) mTagHandlerDeque.FirstThat(mTagFinder);
|
||||
return foundHandler;
|
||||
}
|
||||
|
||||
CTagHandlerDeallocator mDeallocator;
|
||||
nsDeque mTagHandlerDeque;
|
||||
CTagFinder mTagFinder;
|
||||
|
||||
};
|
||||
|
||||
|
||||
/************************************************************************
|
||||
The CTagHandlerRegister for a CNavDTD.
|
||||
This is where special taghanders for our tags can be managed and called from
|
||||
Note: This can also be attached to some object so it can be refcounted
|
||||
and destroyed if you want this to go away when not imbedded.
|
||||
************************************************************************/
|
||||
CTagHandlerRegister gTagHandlerRegister;
|
||||
|
||||
|
||||
@ -486,11 +483,6 @@ nsresult CNavDTD::DidBuildModel(PRInt32 anErrorCode,PRBool aNotifySink){
|
||||
nsresult CNavDTD::HandleToken(CToken* aToken){
|
||||
nsresult result=NS_OK;
|
||||
|
||||
// test and example of finding the tag handler
|
||||
//nsAutoString* findstring = new nsAutoString(aToken->GetStringValueXXX());
|
||||
//nsITagHandler* taghandler = gTagHandlerRegister.FindTagHandler(findstring);
|
||||
|
||||
|
||||
if(aToken) {
|
||||
CHTMLToken* theToken= (CHTMLToken*)(aToken);
|
||||
eHTMLTokenTypes theType=eHTMLTokenTypes(theToken->GetTokenType());
|
||||
|
@ -150,8 +150,8 @@ protected:
|
||||
class nsITagHandler {
|
||||
public:
|
||||
|
||||
virtual void SetString(nsAutoString *aTheString)=0;
|
||||
virtual nsAutoString* GetString()=0;
|
||||
virtual void SetString(const nsString &aTheString)=0;
|
||||
virtual nsString* GetString()=0;
|
||||
virtual PRBool HandleToken(CToken* aToken,nsIDTD* aDTD)=0;
|
||||
virtual PRBool HandleCapturedTokens(CToken* aToken,nsIDTD* aDTD)=0;
|
||||
};
|
||||
|
@ -24,50 +24,61 @@
|
||||
|
||||
/**
|
||||
* MODULE NOTES:
|
||||
* @update DC 11/5/98
|
||||
* @update dc 11/20/98
|
||||
**/
|
||||
|
||||
|
||||
/**
|
||||
* This class defines the object that can do special tag handling
|
||||
* This class defines an object that can do special tag handling
|
||||
*
|
||||
* @update DC 11/5/98
|
||||
* @update DC 11/20/98
|
||||
*/
|
||||
class nsTagHandler : public nsITagHandler {
|
||||
|
||||
// MEMBERS
|
||||
public:
|
||||
nsAutoString mTheTagName;
|
||||
|
||||
|
||||
// METHODS
|
||||
public:
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @update dc 11/5/98
|
||||
* @update dc 11/05/98
|
||||
*/
|
||||
nsTagHandler() {}
|
||||
|
||||
|
||||
/**
|
||||
* Destructor
|
||||
* @update dc 11/05/98
|
||||
*/
|
||||
~nsTagHandler() {}
|
||||
|
||||
/**
|
||||
* SetString
|
||||
* Sets the string (tag) for this nsTagHandler to handle
|
||||
* @update dc 11/19/98
|
||||
* @param aTheString -- The string (tag) associated with this handler
|
||||
* @return VOID
|
||||
*/
|
||||
void SetString(nsAutoString *aTheString) {mTheTagName = *aTheString;}
|
||||
|
||||
nsAutoString* GetString() {return &mTheTagName;}
|
||||
void SetString(const nsString &aTheString) {mTheTagName = aTheString;}
|
||||
|
||||
/**
|
||||
* Handle this token prior to the DTD
|
||||
* Returns the string (tag) handled by this nsTagHandler
|
||||
* @update dc 11/19/98
|
||||
* @return The tagname associated with this class
|
||||
*/
|
||||
nsString* GetString() {return &mTheTagName;}
|
||||
|
||||
/**
|
||||
* Handle this tag prior to the DTD
|
||||
* @update dc 11/5/98
|
||||
* @return A boolean indicating if this token was handled here
|
||||
*/
|
||||
virtual PRBool HandleToken(CToken* aToken,nsIDTD* aDTD) {return PR_FALSE;};
|
||||
|
||||
/**
|
||||
* Handle this token prior to the DTD
|
||||
* Handle this tag prior to the DTD
|
||||
* @update dc 11/5/98
|
||||
* @return ptr to previously set contentsink (usually null)
|
||||
* @return A boolean indicating if this token was handled here
|
||||
*/
|
||||
virtual PRBool HandleCapturedTokens(CToken* aToken,nsIDTD* aDTD) {return PR_FALSE;};
|
||||
|
||||
|
@ -103,8 +103,8 @@ static CTokenRecycler gTokenRecycler;
|
||||
***************************************************************/
|
||||
class CTagHandlerDeallocator: public nsDequeFunctor{
|
||||
public:
|
||||
virtual void* operator()(void* anObject) {
|
||||
nsITagHandler* tagHandler =(nsITagHandler*)anObject;
|
||||
virtual void* operator()(void* aObject) {
|
||||
nsITagHandler* tagHandler = (nsITagHandler*)aObject;
|
||||
delete tagHandler;
|
||||
return 0;
|
||||
}
|
||||
@ -115,29 +115,23 @@ public:
|
||||
check for a Tag name, and setting the current TagHandler when it is reached
|
||||
***************************************************************/
|
||||
class CTagFinder: public nsDequeFunctor{
|
||||
|
||||
public:
|
||||
CTagFinder(){mTagName = nsnull;}
|
||||
void Initialize(nsAutoString* aTagName) {mTagName = aTagName;}
|
||||
CTagFinder(){}
|
||||
void Initialize(const nsString &aTagName) {mTagName = aTagName;}
|
||||
|
||||
virtual ~CTagFinder() {
|
||||
}
|
||||
|
||||
virtual void* operator()(void* anObject)
|
||||
{
|
||||
nsITagHandler* thetaghandler;
|
||||
nsAutoString *thestring;
|
||||
|
||||
//mCurTagHandler = 0;
|
||||
thestring = ((nsITagHandler*)anObject)->GetString();
|
||||
if( thestring->Equals(*mTagName)){
|
||||
//thetaghandler = (nsITagHandler*)anObject;
|
||||
return anObject;
|
||||
}
|
||||
virtual void* operator()(void* aObject) {
|
||||
nsString* theString = ((nsITagHandler*)aObject)->GetString();
|
||||
if( theString->Equals(mTagName)){
|
||||
return aObject;
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
|
||||
nsAutoString* mTagName;
|
||||
//nsITagHandler* mCurTagHandler;
|
||||
nsAutoString mTagName;
|
||||
};
|
||||
|
||||
/***************************************************************
|
||||
@ -151,29 +145,32 @@ public:
|
||||
CTagHandlerRegister() : mDeallocator(), mTagHandlerDeque(mDeallocator) {
|
||||
}
|
||||
|
||||
~CTagHandlerRegister() {
|
||||
}
|
||||
|
||||
void RegisterTagHandler(nsAutoString *aTagName,nsITagHandler *aTagHandler){
|
||||
aTagHandler->SetString(aTagName);
|
||||
void RegisterTagHandler(nsITagHandler *aTagHandler){
|
||||
mTagHandlerDeque.Push(aTagHandler);
|
||||
}
|
||||
|
||||
nsITagHandler* FindTagHandler(nsAutoString* aTagName){
|
||||
nsITagHandler *foundhandler = nsnull;
|
||||
nsITagHandler* FindTagHandler(const nsString &aTagName){
|
||||
nsITagHandler* foundHandler = nsnull;
|
||||
|
||||
mTagFinder.Initialize(aTagName);
|
||||
mTagHandlerDeque.Begin();
|
||||
foundhandler = (nsITagHandler*) mTagHandlerDeque.FirstThat(mTagFinder);
|
||||
return foundhandler;
|
||||
foundHandler = (nsITagHandler*) mTagHandlerDeque.FirstThat(mTagFinder);
|
||||
return foundHandler;
|
||||
}
|
||||
|
||||
CTagHandlerDeallocator mDeallocator;
|
||||
nsDeque mTagHandlerDeque;
|
||||
CTagFinder mTagFinder;
|
||||
|
||||
};
|
||||
|
||||
|
||||
/************************************************************************
|
||||
The CTagHandlerRegister for a CNavDTD.
|
||||
This is where special taghanders for our tags can be managed and called from
|
||||
Note: This can also be attached to some object so it can be refcounted
|
||||
and destroyed if you want this to go away when not imbedded.
|
||||
************************************************************************/
|
||||
CTagHandlerRegister gTagHandlerRegister;
|
||||
|
||||
|
||||
@ -486,11 +483,6 @@ nsresult CNavDTD::DidBuildModel(PRInt32 anErrorCode,PRBool aNotifySink){
|
||||
nsresult CNavDTD::HandleToken(CToken* aToken){
|
||||
nsresult result=NS_OK;
|
||||
|
||||
// test and example of finding the tag handler
|
||||
//nsAutoString* findstring = new nsAutoString(aToken->GetStringValueXXX());
|
||||
//nsITagHandler* taghandler = gTagHandlerRegister.FindTagHandler(findstring);
|
||||
|
||||
|
||||
if(aToken) {
|
||||
CHTMLToken* theToken= (CHTMLToken*)(aToken);
|
||||
eHTMLTokenTypes theType=eHTMLTokenTypes(theToken->GetTokenType());
|
||||
|
@ -150,8 +150,8 @@ protected:
|
||||
class nsITagHandler {
|
||||
public:
|
||||
|
||||
virtual void SetString(nsAutoString *aTheString)=0;
|
||||
virtual nsAutoString* GetString()=0;
|
||||
virtual void SetString(const nsString &aTheString)=0;
|
||||
virtual nsString* GetString()=0;
|
||||
virtual PRBool HandleToken(CToken* aToken,nsIDTD* aDTD)=0;
|
||||
virtual PRBool HandleCapturedTokens(CToken* aToken,nsIDTD* aDTD)=0;
|
||||
};
|
||||
|
@ -24,50 +24,61 @@
|
||||
|
||||
/**
|
||||
* MODULE NOTES:
|
||||
* @update DC 11/5/98
|
||||
* @update dc 11/20/98
|
||||
**/
|
||||
|
||||
|
||||
/**
|
||||
* This class defines the object that can do special tag handling
|
||||
* This class defines an object that can do special tag handling
|
||||
*
|
||||
* @update DC 11/5/98
|
||||
* @update DC 11/20/98
|
||||
*/
|
||||
class nsTagHandler : public nsITagHandler {
|
||||
|
||||
// MEMBERS
|
||||
public:
|
||||
nsAutoString mTheTagName;
|
||||
|
||||
|
||||
// METHODS
|
||||
public:
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @update dc 11/5/98
|
||||
* @update dc 11/05/98
|
||||
*/
|
||||
nsTagHandler() {}
|
||||
|
||||
|
||||
/**
|
||||
* Destructor
|
||||
* @update dc 11/05/98
|
||||
*/
|
||||
~nsTagHandler() {}
|
||||
|
||||
/**
|
||||
* SetString
|
||||
* Sets the string (tag) for this nsTagHandler to handle
|
||||
* @update dc 11/19/98
|
||||
* @param aTheString -- The string (tag) associated with this handler
|
||||
* @return VOID
|
||||
*/
|
||||
void SetString(nsAutoString *aTheString) {mTheTagName = *aTheString;}
|
||||
|
||||
nsAutoString* GetString() {return &mTheTagName;}
|
||||
void SetString(const nsString &aTheString) {mTheTagName = aTheString;}
|
||||
|
||||
/**
|
||||
* Handle this token prior to the DTD
|
||||
* Returns the string (tag) handled by this nsTagHandler
|
||||
* @update dc 11/19/98
|
||||
* @return The tagname associated with this class
|
||||
*/
|
||||
nsString* GetString() {return &mTheTagName;}
|
||||
|
||||
/**
|
||||
* Handle this tag prior to the DTD
|
||||
* @update dc 11/5/98
|
||||
* @return A boolean indicating if this token was handled here
|
||||
*/
|
||||
virtual PRBool HandleToken(CToken* aToken,nsIDTD* aDTD) {return PR_FALSE;};
|
||||
|
||||
/**
|
||||
* Handle this token prior to the DTD
|
||||
* Handle this tag prior to the DTD
|
||||
* @update dc 11/5/98
|
||||
* @return ptr to previously set contentsink (usually null)
|
||||
* @return A boolean indicating if this token was handled here
|
||||
*/
|
||||
virtual PRBool HandleCapturedTokens(CToken* aToken,nsIDTD* aDTD) {return PR_FALSE;};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user