diff --git a/GSWeb.framework/GSWAction.h b/GSWeb.framework/GSWAction.h index bdf8043..bb7f947 100644 --- a/GSWeb.framework/GSWAction.h +++ b/GSWeb.framework/GSWAction.h @@ -52,6 +52,10 @@ inClass:(Class)class; -(SEL)_selectorForActionNamed:(NSString*)actionName; -(id )performActionNamed:(NSString*)actionName; + +/** Returns YES if self reponds to actionName **/ +-(BOOL)isActionNamed:(NSString*)actionName; + -(id)existingSession; -(NSString*)sessionIDForRequest:(GSWRequest*)aRequest; -(void)_initializeRequestSessionIDInContext:(GSWContext*)aContext; diff --git a/GSWeb.framework/GSWAction.m b/GSWeb.framework/GSWAction.m index 503c80c..881f39d 100644 --- a/GSWeb.framework/GSWAction.m +++ b/GSWeb.framework/GSWAction.m @@ -245,6 +245,18 @@ RCS_ID("$Id$") return [self subclassResponsibility: _cmd]; }; +//-------------------------------------------------------------------- +/** Returns YES if self reponds to actionName **/ +-(BOOL)isActionNamed:(NSString*)actionName +{ + NSString* actionSelName=nil; + SEL actionSel=[self _selectorForActionNamed:actionName]; + if (actionSel) + return [self respondsToSelector:actionSel]; + else + return NO; +} + //-------------------------------------------------------------------- -(NSString*)sessionIDForRequest:(GSWRequest*)aRequest {