Data Structures | Defines | Typedefs | Functions | Variables

network_content.cpp File Reference

Content sending/receiving part of the network protocol. More...

#include "../stdafx.h"
#include "../rev.h"
#include "../ai/ai.hpp"
#include "../game/game.hpp"
#include "../window_func.h"
#include "../error.h"
#include "../base_media_base.h"
#include "../settings_type.h"
#include "network_content.h"
#include "table/strings.h"
#include <zlib.h>

Go to the source code of this file.

Data Structures

class  NetworkContentConnecter
 Connect to the content server. More...

Defines

#define check_not_null(p)   { if ((p) == NULL) { this->OnFailure(); return; } }
#define check_and_terminate(p)   { check_not_null(p); *(p) = '\0'; }

Typedefs

typedef bool(* HasProc )(const ContentInfo *ci, bool md5sum)
 Check whether a function piece of content is locally known.

Functions

bool HasScenario (const ContentInfo *ci, bool md5sum)
 Check whether we've got a given scenario based on its unique ID.
static bool HasGRFConfig (const ContentInfo *ci, bool md5sum)
 Wrapper function for the HasProc.
static char * GetFullFilename (const ContentInfo *ci, bool compressed)
 Determine the full filename of a piece of content information.
static bool GunzipFile (const ContentInfo *ci)
 Gunzip a given file and remove the .gz if successful.

Variables

ClientNetworkContentSocketHandler _network_content_client
 The client we use to connect to the server.

Detailed Description

Content sending/receiving part of the network protocol.

Definition in file network_content.cpp.


Typedef Documentation

typedef bool(* HasProc)(const ContentInfo *ci, bool md5sum)

Check whether a function piece of content is locally known.

Matches on the unique ID and possibly the MD5 checksum.

Parameters:
ci the content info to search for
md5sum also match the MD5 checksum?
Returns:
true iff it's known

Definition at line 48 of file network_content.cpp.


Function Documentation

static char* GetFullFilename ( const ContentInfo ci,
bool  compressed 
) [static]

Determine the full filename of a piece of content information.

Parameters:
ci the information to get the filename from
compressed should the filename end with .gz?
Returns:
a statically allocated buffer with the filename or NULL when no filename could be made.

Definition at line 385 of file network_content.cpp.

References PacketReader::buf, ContentInfo::filename, GetContentInfoSubDir(), lastof, lengthof, NO_DIRECTORY, SP_AUTODOWNLOAD_DIR, strecat(), and ContentInfo::type.

Referenced by ClientNetworkContentSocketHandler::AfterDownload(), ClientNetworkContentSocketHandler::BeforeDownload(), and GunzipFile().

static bool GunzipFile ( const ContentInfo ci  )  [static]

Gunzip a given file and remove the .gz if successful.

Parameters:
ci container with filename
Returns:
true if the gunzip completed

Definition at line 402 of file network_content.cpp.

References GetFullFilename().

Referenced by ClientNetworkContentSocketHandler::AfterDownload().

bool HasScenario ( const ContentInfo ci,
bool  md5sum 
)

Check whether we've got a given scenario based on its unique ID.

Parameters:
ci the content info to compare it to
md5sum whether to look at the md5sum or the id
Returns:
true if we've got the scenario

Definition at line 646 of file fios.cpp.

References SmallVector< T, S >::Begin(), SmallVector< T, S >::End(), ContentInfo::md5sum, ScenarioScanner::Scan(), and ContentInfo::unique_id.


Variable Documentation