hedgewars/uFLNetTypes.pas
author unc0rr
Sun, 22 Nov 2015 18:06:32 +0300
branchqmlfrontend
changeset 11425 2947f06e8533
parent 11418 091149424aa4
child 11429 d96a37de1076
permissions -rw-r--r--
Another approach to parsing two-lines protocol commands
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10953
360e57620df3 Put types into a separate file
unc0rr
parents:
diff changeset
     1
unit uFLNetTypes;
360e57620df3 Put types into a separate file
unc0rr
parents:
diff changeset
     2
interface
360e57620df3 Put types into a separate file
unc0rr
parents:
diff changeset
     3
11413
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
     4
type TCmdType = (cmd_ASKPASSWORD, cmd_BANLIST, cmd_BANLIST_s, cmd_BYE, cmd_CHAT,
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
     5
    cmd_CLIENT_FLAGS, cmd_CLIENT_FLAGS_s, cmd_CONNECTED, cmd_EM, cmd_EM_s,
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
     6
    cmd_ERROR, cmd_HH_NUM, cmd_HH_NUM_s, cmd_INFO, cmd_INFO_s, cmd_JOINED,
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
     7
    cmd_JOINED_s, cmd_JOINING, cmd_KICKED, cmd_LEFT, cmd_LEFT_s, cmd_LOBBY_JOINED,
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
     8
    cmd_LOBBY_JOINED_s, cmd_LOBBY_LEFT, cmd_NICK, cmd_NOTICE, cmd_PING, cmd_PING_s,
11425
2947f06e8533 Another approach to parsing two-lines protocol commands
unc0rr
parents: 11418
diff changeset
     9
    cmd_PROTO, cmd_ROOMS, cmd_ROOMS_s, cmd_ROOM_ADD, cmd_ROOM_ADD_s, cmd_ROOM_DEL,
2947f06e8533 Another approach to parsing two-lines protocol commands
unc0rr
parents: 11418
diff changeset
    10
    cmd_ROOM_UPD, cmd_ROOM_UPD_s, cmd_ROUND_FINISHED, cmd_RUN_GAME, cmd_SERVER_AUTH,
2947f06e8533 Another approach to parsing two-lines protocol commands
unc0rr
parents: 11418
diff changeset
    11
    cmd_SERVER_MESSAGE, cmd_SERVER_VARS, cmd_TEAM_ACCEPTED, cmd_TEAM_COLOR,
2947f06e8533 Another approach to parsing two-lines protocol commands
unc0rr
parents: 11418
diff changeset
    12
    cmd_TEAM_COLOR_s, cmd_WARNING);
11413
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    13
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    14
    type TCmdParam = packed record
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    15
        cmd: TCmdType;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    16
        end;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    17
    type TCmdParamL = packed record
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    18
        cmd: TCmdType;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    19
        str1: string;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    20
        end;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    21
    type TCmdParamS = packed record
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    22
        cmd: TCmdType;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    23
        str1: shortstring;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    24
        end;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    25
    type TCmdParamSL = packed record
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    26
        cmd: TCmdType;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    27
        str1: shortstring;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    28
        str2: string;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    29
        end;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    30
    type TCmdParami = packed record
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    31
        cmd: TCmdType;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    32
        param1: LongInt;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    33
        end;
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    34
10953
360e57620df3 Put types into a separate file
unc0rr
parents:
diff changeset
    35
    TCmdData = record
360e57620df3 Put types into a separate file
unc0rr
parents:
diff changeset
    36
                   case byte of
11413
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    37
                       0: (cmd: TCmdParam);
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    38
                       1: (cpl: TCmdParamL);
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    39
                       2: (cps: TCmdParamS);
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    40
                       3: (cpsl: TCmdParamSL);
ffff8a0d1a76 Implement processing net commands in the main thread
unc0rr
parents: 10953
diff changeset
    41
                       4: (cpi: TCmdParami);
10953
360e57620df3 Put types into a separate file
unc0rr
parents:
diff changeset
    42
               end;
360e57620df3 Put types into a separate file
unc0rr
parents:
diff changeset
    43
360e57620df3 Put types into a separate file
unc0rr
parents:
diff changeset
    44
implementation
360e57620df3 Put types into a separate file
unc0rr
parents:
diff changeset
    45
360e57620df3 Put types into a separate file
unc0rr
parents:
diff changeset
    46
end.