text: // Copyright (C) 2007 Id Software, Inc.
  //
  
  
  #include "precompiled.h"
  #pragma hdrstop
  
  #include "DeclRating.h"
  #include "../../framework/DeclParseHelper.h"
  
  /*
  ===============================================================================
  
  	sdDeclRating
  
  ===============================================================================
  */
  
  /*
  ================
  sdDeclRating::sdDeclRating
  ================
  */
  sdDeclRating::sdDeclRating( void ) {
  }
  
  /*
  ================
  sdDeclRating::~sdDeclRating
  ================
  */
  sdDeclRating::~sdDeclRating( void ) {
  }
  
  /*
  ================
  sdDeclRating::DefaultDefinition
  ================
  */
  const char* sdDeclRating::DefaultDefinition( void ) const {
  	return						\
  		"{\n"					\
  		"}\n";
  }
  
  /*
  ================
  sdDeclRating::Parse
  ================
  */
  bool sdDeclRating::Parse( const char *text, const int textLength ) {
  	idToken token;
  	idParser src;
  
  	src.SetFlags( DECL_LEXER_FLAGS );
  	//src.LoadMemory( text, textLength, GetFileName(), GetLineNum() );
  	sdDeclParseHelper declHelper( this, text, textLength, src );
  
  	src.SkipUntilString( "{", &token );
  
  	while( true ) {
  		if( !src.ReadToken( &token ) ) {
  			return false;
  		}
  
  		if( !token.Icmp( "title" ) ) {
  
  			if( !src.ExpectTokenType( TT_STRING, 0, &token ) ) {
  				src.Error( "sdDeclRating::Parse Invalid Parm For 'title'" );
  				return false;
  			}
  
  			title = declHolder.declLocStrType.LocalFind( token.c_str() );
  
  		} else if( !token.Icmp( "shortTitle" ) ) {
  
  			if( !src.ExpectTokenType( TT_STRING, 0, &token ) ) {
  				src.Error( "sdDeclRating::Parse Invalid Parm For 'shortTitle'" );
  				return false;
  			}
  
  			shortTitle = declHolder.declLocStrType.LocalFind( token.c_str() );
  
  		} else if( !token.Cmp( "}" ) ) {
  
  			break;
  
  		} else {
  
  			src.Error( "sdDeclRating::Parse Invalid Token '%s'", token.c_str() );
  			return false;
  
  		}
  	}
  
  	return true;
  }
  
  /*
  ================
  sdDeclRating::FreeData
  ================
  */
  void sdDeclRating::FreeData( void ) {
  	title = declHolder.declLocStrType[ "_default" ];
  	shortTitle = declHolder.declLocStrType[ "_default" ];
  }
  