project_files/HedgewarsMobile/Classes/EngineProtocolNetwork.h
author koda
Tue, 23 Aug 2011 03:46:17 +0200
changeset 5662 99083392cd4f
parent 5155 f2165724605c
child 6265 a6944f94c19f
permissions -rw-r--r--
FREE AT LAST!!! SDL came around a (mostly) sane way for implementing rotation events, so we can scrap all the workaround code that has been added to workaround it!! Also this allows us to use proper (internal) multitasking handling and can simplify optional settings and other yet unexplored features. Yay!
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3829
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
     1
/*
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
     2
 * Hedgewars-iOS, a Hedgewars port for iOS devices
4976
088d40d8aba2 Happy 2011 :)
koda
parents: 4760
diff changeset
     3
 * Copyright (c) 2009-2011 Vittorio Giovara <vittorio.giovara@gmail.com>
3829
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
     4
 *
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
     8
 *
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
    12
 * GNU General Public License for more details.
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
    13
 *
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
    14
 * You should have received a copy of the GNU General Public License
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
    15
 * along with this program; if not, write to the Free Software
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
    17
 *
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
    18
 * File created on 10/01/2010.
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
    19
 */
81db3c85784b headers ftw, also right project file
koda
parents: 3703
diff changeset
    20
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    21
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    22
#import <Foundation/Foundation.h>
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    23
#import "SDL_net.h"
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    24
5155
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    25
@protocol EngineProtocolDelegate <NSObject>
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    26
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    27
-(void) gameHasEndedWithStats:(NSArray *)stats;
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    28
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    29
@end
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    30
5154
851f36579ed4 initial refactoring for interfacing the game engine from the ios frontend (game doesn't run yet)
koda
parents: 4976
diff changeset
    31
@interface EngineProtocolNetwork : NSObject {
5155
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    32
    id<EngineProtocolDelegate> delegate;
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3616
diff changeset
    33
5155
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    34
    NSOutputStream *stream;
5154
851f36579ed4 initial refactoring for interfacing the game engine from the ios frontend (game doesn't run yet)
koda
parents: 4976
diff changeset
    35
    NSInteger ipcPort;              // Port on which engine will listen
851f36579ed4 initial refactoring for interfacing the game engine from the ios frontend (game doesn't run yet)
koda
parents: 4976
diff changeset
    36
    TCPsocket csd;                  // Client socket descriptor
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    37
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    38
5155
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    39
@property (nonatomic,assign) id<EngineProtocolDelegate> delegate;
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    40
@property (nonatomic,retain) NSOutputStream *stream;
5154
851f36579ed4 initial refactoring for interfacing the game engine from the ios frontend (game doesn't run yet)
koda
parents: 4976
diff changeset
    41
@property (assign) NSInteger ipcPort;
851f36579ed4 initial refactoring for interfacing the game engine from the ios frontend (game doesn't run yet)
koda
parents: 4976
diff changeset
    42
@property (assign) TCPsocket csd;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    43
5154
851f36579ed4 initial refactoring for interfacing the game engine from the ios frontend (game doesn't run yet)
koda
parents: 4976
diff changeset
    44
851f36579ed4 initial refactoring for interfacing the game engine from the ios frontend (game doesn't run yet)
koda
parents: 4976
diff changeset
    45
-(id)   init;
5155
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    46
-(id)   initOnPort:(NSInteger) port;
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    47
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    48
-(void) spawnThread:(NSString *)onSaveFile;
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    49
-(void) spawnThread:(NSString *)onSaveFile withOptions:(NSDictionary *)dictionary;
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    50
-(void) engineProtocol:(id) object;
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    51
-(void) gameHasEndedWithStats:(NSArray *)stats;
f2165724605c more refactoring, less warnings, less stuff kept around
koda
parents: 5154
diff changeset
    52
5154
851f36579ed4 initial refactoring for interfacing the game engine from the ios frontend (game doesn't run yet)
koda
parents: 4976
diff changeset
    53
-(int)  sendToEngine:(NSString *)string;
851f36579ed4 initial refactoring for interfacing the game engine from the ios frontend (game doesn't run yet)
koda
parents: 4976
diff changeset
    54
-(int)  sendToEngineNoSave:(NSString *)string;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    55
-(void) provideTeamData:(NSString *)teamName forHogs:(NSInteger) numberOfPlayingHogs withHealth:(NSInteger) initialHealth ofColor:(NSNumber *)teamColor;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    56
-(void) provideAmmoData:(NSString *)ammostoreName forPlayingTeams:(NSInteger) numberOfTeams;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    57
-(NSInteger) provideScheme:(NSString *)schemeName;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    58
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    59
@end