RSSKit  0.6.1
RSSArticleProtocol.h
00001 /*  -*-objc-*-
00002  *
00003  *  GNUstep RSS Kit
00004  *  Copyright (C) 2010-2011 The Free Software Foundation, Inc.
00005  *                2006      Guenther Noack
00006  *
00007  *  This library is free software; you can redistribute it and/or
00008  *  modify it under the terms of the GNU Lesser General Public
00009  *  License as published by the Free Software Foundation, in version 2.1
00010  *  of the License
00011  * 
00012  *  This library is distributed in the hope that it will be useful,
00013  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00015  *  Lesser General Public License for more details.
00016  *
00017  *  You should have received a copy of the GNU Lesser General Public
00018  *  License along with this library; if not, write to the Free Software
00019  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00020  */
00021 
00022 #import <Foundation/NSObject.h>
00023 #import <Foundation/NSURL.h>
00024 #import "RSSFeedProtocol.h"
00025 
00030 extern NSString* RSSArticleChangedNotification;
00031 
00032 
00033 
00037 @protocol RSSArticle <NSObject>
00039 - (NSString*) headline;
00040 
00042 - (NSString*) url;
00043 
00045 - (NSString*) content;
00046 
00055 - (NSArray*) links;
00056 
00064 - (NSDate*) date;
00065 
00072 - (NSURL*) enclosure;
00073 
00074 
00091 - (id<RSSFeed>) feed;
00092 
00096 - (BOOL) store;
00097  
00104 - (void) willBeReplacedByArticle: (id) newArticle;
00105 
00106 @end
00107 
00114 @protocol RSSMutableArticle <RSSArticle>
00115 
00125 - (void) addLink:(NSURL*) anURL;
00126 
00132 - (void) setLinks: (NSArray*) someLinks;
00133 
00134 // only used internally
00135 - (void) setFeed: (id) aFeed;
00136 
00140 - (void) setDate: (NSDate*) aDate;
00141 
00142 @end
00143