/* Copyright (c) 2011 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

//
//  GDataEntryFreeBusy.h
//

#if !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_CALENDAR_SERVICE

#import "GDataEntryCalendar.h"
#import "GDataEntryCalendarEvent.h"

@interface GDataCalendarWhen : GDataObject
// common parent class for Busy and TimeRange classes below
- (GDataWhen *)when;
- (void)setWhen:(GDataWhen *)when;
@end

@interface GDataCalendarTimeRange : GDataCalendarWhen <GDataExtension>
@end

@interface GDataCalendarBusy : GDataCalendarWhen <GDataExtension>
@end


@interface GDataEntryFreeBusyBase : GDataEntryBase
// common parent class for FreeBusy and GroupFreeBusy classes below
- (GDataCalendarTimeRange *)timeRange;
- (void)setTimeRange:(GDataCalendarTimeRange *)obj;

- (NSArray *)busies;
- (void)setBusies:(NSArray *)arr;
- (void)addBusy:(GDataCalendarBusy *)obj;
@end

@interface GDataEntryFreeBusy : GDataEntryFreeBusyBase
@end

@interface GDataEntryGroupFreeBusy : GDataEntryFreeBusyBase
@end

#endif // !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_CALENDAR_SERVICE
