// Copyright 2008 Cyrus Najmabadi // // 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. #import "AbstractMessage.h" #import "CodedOutputStream.h" @implementation PBAbstractMessage - (id) init { if ((self = [super init])) { } return self; } - (NSData*) data { NSMutableData* data = [NSMutableData dataWithLength:(NSUInteger)self.serializedSize]; PBCodedOutputStream* stream = [PBCodedOutputStream streamWithData:data]; [self writeToCodedOutputStream:stream]; return data; } - (BOOL) isInitialized { @throw [NSException exceptionWithName:@"ImproperSubclassing" reason:@"" userInfo:nil]; } - (int32_t) serializedSize { @throw [NSException exceptionWithName:@"ImproperSubclassing" reason:@"" userInfo:nil]; } - (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { @throw [NSException exceptionWithName:@"ImproperSubclassing" reason:@"" userInfo:nil]; } - (void) writeToOutputStream:(NSOutputStream*) output { PBCodedOutputStream* codedOutput = [PBCodedOutputStream streamWithOutputStream:output]; [self writeToCodedOutputStream:codedOutput]; [codedOutput flush]; } - (id) defaultInstance { @throw [NSException exceptionWithName:@"ImproperSubclassing" reason:@"" userInfo:nil]; } - (PBUnknownFieldSet*) unknownFields { @throw [NSException exceptionWithName:@"ImproperSubclassing" reason:@"" userInfo:nil]; } - (id) builder { @throw [NSException exceptionWithName:@"ImproperSubclassing" reason:@"" userInfo:nil]; } @end