]> err.no Git - sope/blobdiff - sope-ical/NGiCal/common.h
fixed b0rked Xcode project files
[sope] / sope-ical / NGiCal / common.h
index 1633aa18eed5051a00547932bfabb38aafe653da..0ffdb5748ba2d8b263dea8b272c04283e7875e08 100644 (file)
@@ -1,30 +1,45 @@
 /*
-  Copyright (C) 2000-2003 SKYRIX Software AG
+  Copyright (C) 2000-2005 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of SOPE.
 
-  OGo is free software; you can redistribute it and/or modify it under
+  SOPE 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, or (at your option) any
   later version.
 
-  OGo is distributed in the hope that it will be useful, but WITHOUT ANY
+  SOPE 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 OGo; see the file COPYING.  If not, write to the
+  License along with SOPE; see the file COPYING.  If not, write to the
   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
   02111-1307, USA.
 */
-// $Id$
 
 #ifndef __ICal_common_H__
 #define __ICal_common_H__
 
 #import <Foundation/Foundation.h>
-#include <EOControl/EOControl.h>
+#import <EOControl/EOControl.h>
 #include <NGExtensions/NGExtensions.h>
 
+#define IS_EQUAL(a, b, sel) \
+  _iCalSafeCompareObjects(a, b, @selector(sel))
+
+static __inline__ BOOL _iCalSafeCompareObjects(id a, id b, SEL comparator) {
+  id va = a;
+  id vb = b;
+  BOOL (*compm)(id, SEL, id);
+
+  if((va == nil && vb != nil) || (va != nil && vb == nil))
+    return NO;
+  else if(va == vb)
+    return YES;
+  compm = (BOOL (*)( id, SEL, id))[va methodForSelector:comparator];
+  return compm(va, comparator, vb);
+}
+
 #endif /* __ICal_common_H__ */