Code Search for Developers
 
 
  

CWContainer.h from redshed at Krugle


Show CWContainer.h syntax highlighted

/*
**  CWContainer.h
**
**  Copyright (c) 2002-2004
**
**  Author: Ludovic Marcotte <ludovic@Sophos.ca>
**
**  This library is free software; you can redistribute it and/or
**  modify it under the terms of the GNU Lesser General Public
**  License as published by the Free Software Foundation; either
**  version 2.1 of the License, or (at your option) any later version.
**  
**  This library is distributed in the hope that it will be useful,
**  but WITHOUT ANY WARRANTY; without even the implied warranty of
**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
**  Lesser General Public License for more details.
**  
**  You should have received a copy of the GNU Lesser General Public
**  License along with this library; if not, write to the Free Software
**  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/

#ifndef _Pantomime_H_CWContainer
#define _Pantomime_H_CWContainer

#import <Foundation/NSEnumerator.h>
#import <Foundation/NSObject.h>

@class CWMessage;

/*!
  @class CWContainer
  @discussion This class is a simple placeholder used when doing message threading.
              A container is composed of a CWMessage instance which might be nil, a parent,
	      child and next CWContainer instances. For a full description of the implemented
	      algorithm, see <a href="http://www.jwz.org/doc/threading.html">message threading</a>.
	      Instance variables of this class must be accessed directly (ie., without
	      an accessor) - for performance reasons.
*/
@interface CWContainer : NSObject
{
  @public
    CWContainer *parent, *child, *next;
    CWMessage *message;
}

/*!
  @method setParent:
  @discussion This method is used to set the parent CWContainer of the receiver.
  @param theParent The parent CWContainer, which might be nil if the receiver
                   is part of the root set.
*/
- (void) setParent: (CWContainer *) theParent;

/*!
  @method setChild:
  @discussion This method is used to add the specified child to the list
              of children.
  @param theChild The child to add which can be nil to remove the first child.
*/
- (void) setChild: (CWContainer *) theChild;

/*!
  @method childAtIndex:
  @discussion This method is used to get the child at the specified index.
  @param theIndex The index of the child, which is 0 based.
  @result The CWContainer instance.
*/
- (CWContainer *) childAtIndex: (unsigned int) theIndex;

/*!
  @method count
  @discussion This method is used to obtain the number of children of
              the receiver.
  @result The number of children.
*/
- (unsigned int) count;

/*!
  @method setNext:
  @discussion This method is used to set the next element in
              sibling list.
  @param theNext The next element, or nil if there's none.
*/
- (void) setNext: (CWContainer *) theNext;

/*!
  @method childrenEnumerator
  @discussion This method is used to obtain all children of the receiver.
  @result All children, as a NSEnumerator instance.
*/
- (NSEnumerator *) childrenEnumerator;

@end

#endif // _Pantomime_H_CWContainer




See more files for this project here

redshed

Code for Mac+WebObjects.

Project homepage: http://sourceforge.net/projects/redshed
Programming language(s): C,Java,Objective C
License: other

  English.lproj/
  CWCacheManager.h
  CWCacheManager.m
  CWCharset.h
  CWCharset.m
  CWConnection.h
  CWConstants.h
  CWConstants.m
  CWContainer.h
  CWContainer.m
  CWDNSManager.h
  CWDNSManager.m
  CWFlags.h
  CWFlags.m
  CWFolder.h
  CWFolder.m
  CWFolderInformation.h
  CWFolderInformation.m
  CWIMAPCacheManager.h
  CWIMAPCacheManager.m
  CWIMAPFolder.h
  CWIMAPFolder.m
  CWIMAPMessage.h
  CWIMAPMessage.m
  CWIMAPStore.h
  CWIMAPStore.m
  CWISO8859_1.h
  CWISO8859_1.m
  CWISO8859_10.h
  CWISO8859_10.m
  CWISO8859_11.h
  CWISO8859_11.m
  CWISO8859_13.h
  CWISO8859_13.m
  CWISO8859_14.h
  CWISO8859_14.m
  CWISO8859_15.h
  CWISO8859_15.m
  CWISO8859_2.h
  CWISO8859_2.m
  CWISO8859_3.h
  CWISO8859_3.m
  CWISO8859_4.h
  CWISO8859_4.m
  CWISO8859_5.h
  CWISO8859_5.m
  CWISO8859_6.h
  CWISO8859_6.m
  CWISO8859_7.h
  CWISO8859_7.m
  CWISO8859_8.h
  CWISO8859_8.m
  CWISO8859_9.h
  CWISO8859_9.m
  CWInternetAddress.h
  CWInternetAddress.m
  CWKOI8_R.h
  CWKOI8_R.m
  CWKOI8_U.h
  CWKOI8_U.m
  CWLocalCacheManager.h
  CWLocalCacheManager.m
  CWLocalFolder+maildir.h
  CWLocalFolder+maildir.m
  CWLocalFolder+mbox.h
  CWLocalFolder+mbox.m
  CWLocalFolder.h
  CWLocalFolder.m
  CWLocalMessage.h
  CWLocalMessage.m
  CWLocalStore.h
  CWLocalStore.m
  CWMD5.h
  CWMD5.m
  CWMIMEMultipart.h
  CWMIMEMultipart.m
  CWMIMEUtility.h
  CWMIMEUtility.m
  CWMacOSXGlue.h
  CWMacOSXGlue.m
  CWMessage.h
  CWMessage.m
  CWPOP3CacheManager.h
  CWPOP3CacheManager.m
  CWPOP3CacheObject.h
  CWPOP3CacheObject.m
  CWPOP3Folder.h
  CWPOP3Folder.m
  CWPOP3Message.h
  CWPOP3Message.m
  CWPOP3Store.h
  CWPOP3Store.m
  CWParser.h
  CWParser.m
  CWPart.h
  CWPart.m
  CWRegEx.h
  CWRegEx.m
  CWSMTP.h
  CWSMTP.m