RSSKit  0.6.1
RSSArticleProtocol.h
00001 /*  -*-objc-*-
00002  *
00003  *  GNUstep RSS Kit
00004  *  Copyright (C) 2006 Guenther Noack
00005  *
00006  *  This library is free software; you can redistribute it and/or
00007  *  modify it under the terms of the GNU Lesser General Public
00008  *  License as published by the Free Software Foundation, in version 2.1
00009  *  of the License
00010  * 
00011  *  This library is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00014  *  Lesser General Public License for more details.
00015  *
00016  *  You should have received a copy of the GNU Lesser General Public
00017  *  License along with this library; if not, write to the Free Software
00018  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019  */
00020 
00021 #import <Foundation/NSObject.h>
00022 #import <Foundation/NSURL.h>
00023 #import "RSSFeedProtocol.h"
00024 
00029 extern NSString* RSSArticleChangedNotification;
00030 
00031 
00032 
00036 @protocol RSSArticle <NSObject>
00038 - (NSString*) headline;
00039 
00041 - (NSString*) url;
00042 
00044 - (NSString*) content;
00045 
00054 - (NSArray*) links;
00055 
00063 - (NSDate*) date;
00064 
00071 - (NSURL*) enclosure;
00072 
00077 -(void) setAutoClear: (BOOL) autoClear;
00078 
00085 -(BOOL) autoClear;
00086 
00087 
00104 - (id<RSSFeed>) feed;
00105 
00110 - (NSDictionary*) plistDictionary;
00111 
00115 - (BOOL) store;
00116  
00123 - (void) willBeReplacedByArticle: (id) newArticle;
00124 
00125 @end
00126 
00133 @protocol RSSMutableArticle <RSSArticle>
00134 
00144 - (void) addLink:(NSURL*) anURL;
00145 
00151 - (void) setLinks: (NSArray*) someLinks;
00152 
00153 // only used internally
00154 - (void) setFeed: (id) aFeed;
00155 
00159 - (void) setDate: (NSDate*) aDate;
00160 
00161 @end
00162