blob: 0d664047f342b7ce6272c22b0429a110d77c7932 [file] [log] [blame]
David Reissea2cba82009-03-30 21:35:00 +00001/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
Andrew McGeachie6db89f22009-07-21 14:45:12 +000020#import <Foundation/Foundation.h>
Mark Slee77575e62007-09-24 19:24:53 +000021#import "TProtocolFactory.h"
Andrew McGeachie0c895712009-07-21 21:14:19 +000022#import "TProcessorFactory.h"
23
24#if !TARGET_OS_IPHONE
25#import <CoreServices/CoreServices.h>
26#else
27#import <CFNetwork/CFNetwork.h>
28#endif
29
30extern NSString * const kTSocketServer_ClientConnectionFinishedForProcessorNotification;
31extern NSString * const kTSocketServer_ProcessorKey;
32extern NSString * const kTSockerServer_TransportKey;
Mark Slee77575e62007-09-24 19:24:53 +000033
34
35@interface TSocketServer : NSObject {
36 NSSocketPort * mServerSocket;
37 NSFileHandle * mSocketFileHandle;
38 id <TProtocolFactory> mInputProtocolFactory;
David Reiss0c90f6f2008-02-06 22:18:40 +000039 id <TProtocolFactory> mOutputProtocolFactory;
Andrew McGeachie0c895712009-07-21 21:14:19 +000040 id <TProcessorFactory> mProcessorFactory;
Mark Slee77575e62007-09-24 19:24:53 +000041}
42
43- (id) initWithPort: (int) port
44 protocolFactory: (id <TProtocolFactory>) protocolFactory
Andrew McGeachie0c895712009-07-21 21:14:19 +000045 processorFactory: (id <TProcessorFactory>) processorFactory;
Mark Slee77575e62007-09-24 19:24:53 +000046
47@end
48
49
50