[DUG] If someone could do this in D2007

Jeremy North jeremy.north at gmail.com
Thu May 3 09:17:35 NZST 2007


Here you go.
-------------- next part --------------
// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL     : https://adwords.google.com/api/adwords/v10/CriterionService?wsdl
//  >Import : https://adwords.google.com/api/adwords/v10/CriterionService?wsdl:0
// Encoding : UTF-8
// Codegen  : [wfUseSerializerClassForAttrs-]
// Version  : 1.0
// (3/05/2007 7:15:48 AM - * $Rev: 5154 $)
// ************************************************************************ //

unit CriterionService;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

const
  IS_OPTN = $0001;
  IS_UNBD = $0002;
  IS_NLBL = $0004;
  IS_UNQL = $0008;
  IS_ATTR = $0010;
  IS_TEXT = $0020;

type

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically map to predefined/known XML or Borland types; however, they could also 
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //
  // !:int             - "http://www.w3.org/2001/XMLSchema"
  // !:string          - "http://www.w3.org/2001/XMLSchema"
  // !:boolean         - "http://www.w3.org/2001/XMLSchema"
  // !:long            - "http://www.w3.org/2001/XMLSchema"
  // !:double          - "http://www.w3.org/2001/XMLSchema"
  // !:date            - "http://www.w3.org/2001/XMLSchema"

  ApiError             = class;                 { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  Circle               = class;                 { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  Criterion            = class;                 { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  StatsRecord          = class;                 { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  useragent            = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  password             = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  email                = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  clientEmail          = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  clientCustomerId     = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  developerToken       = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  applicationToken     = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  responseTime         = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  operations           = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  units                = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  requestId            = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  circles              = class;                 { "https://adwords.google.com/api/adwords/v10"[alias] }
  GeoTarget            = class;                 { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  ApiException         = class;                 { "https://adwords.google.com/api/adwords/v10"[Flt][GblCplx] }
  fault                = class;                 { "https://adwords.google.com/api/adwords/v10"[Flt][GblElm] }

  { "https://adwords.google.com/api/adwords/v10"[GblSmpl] }
  CriterionType = (Website, Keyword);

  { "https://adwords.google.com/api/adwords/v10"[GblSmpl] }
  CriterionStatus = (Active, InActive, Disapproved, Deleted);



  // ************************************************************************ //
  // XML       : ApiError, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  ApiError = class(TRemotable)
  private
    Fcode: Integer;
    Fdetail: WideString;
    Ffield: WideString;
    Ffield_Specified: boolean;
    Findex_: Integer;
    FisExemptable: Boolean;
    FtextIndex: Integer;
    FtextIndex_Specified: boolean;
    FtextLength: Integer;
    FtextLength_Specified: boolean;
    Ftrigger: WideString;
    Ftrigger_Specified: boolean;
    procedure Setfield(Index: Integer; const AWideString: WideString);
    function  field_Specified(Index: Integer): boolean;
    procedure SettextIndex(Index: Integer; const AInteger: Integer);
    function  textIndex_Specified(Index: Integer): boolean;
    procedure SettextLength(Index: Integer; const AInteger: Integer);
    function  textLength_Specified(Index: Integer): boolean;
    procedure Settrigger(Index: Integer; const AWideString: WideString);
    function  trigger_Specified(Index: Integer): boolean;
  published
    property code:         Integer     read Fcode write Fcode;
    property detail:       WideString  read Fdetail write Fdetail;
    property field:        WideString  Index (IS_OPTN) read Ffield write Setfield stored field_Specified;
    property index_:       Integer     read Findex_ write Findex_;
    property isExemptable: Boolean     read FisExemptable write FisExemptable;
    property textIndex:    Integer     Index (IS_OPTN) read FtextIndex write SettextIndex stored textIndex_Specified;
    property textLength:   Integer     Index (IS_OPTN) read FtextLength write SettextLength stored textLength_Specified;
    property trigger:      WideString  Index (IS_OPTN) read Ftrigger write Settrigger stored trigger_Specified;
  end;



  // ************************************************************************ //
  // XML       : Circle, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  Circle = class(TRemotable)
  private
    FlatitudeMicroDegrees: Integer;
    FlongitudeMicroDegrees: Integer;
    FradiusMeters: Integer;
  published
    property latitudeMicroDegrees:  Integer  read FlatitudeMicroDegrees write FlatitudeMicroDegrees;
    property longitudeMicroDegrees: Integer  read FlongitudeMicroDegrees write FlongitudeMicroDegrees;
    property radiusMeters:          Integer  read FradiusMeters write FradiusMeters;
  end;



  // ************************************************************************ //
  // XML       : Criterion, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  Criterion = class(TRemotable)
  private
    FadGroupId: Integer;
    FcriterionType: CriterionType;
    FcriterionType_Specified: boolean;
    FdestinationUrl: WideString;
    FdestinationUrl_Specified: boolean;
    FexemptionRequest: WideString;
    FexemptionRequest_Specified: boolean;
    Fid: Int64;
    Flanguage: WideString;
    Fnegative: Boolean;
    Fpaused: Boolean;
    Fpaused_Specified: boolean;
    Fstatus: CriterionStatus;
    Fstatus_Specified: boolean;
    procedure SetcriterionType(Index: Integer; const ACriterionType: CriterionType);
    function  criterionType_Specified(Index: Integer): boolean;
    procedure SetdestinationUrl(Index: Integer; const AWideString: WideString);
    function  destinationUrl_Specified(Index: Integer): boolean;
    procedure SetexemptionRequest(Index: Integer; const AWideString: WideString);
    function  exemptionRequest_Specified(Index: Integer): boolean;
    procedure Setpaused(Index: Integer; const ABoolean: Boolean);
    function  paused_Specified(Index: Integer): boolean;
    procedure Setstatus(Index: Integer; const ACriterionStatus: CriterionStatus);
    function  status_Specified(Index: Integer): boolean;
  published
    property adGroupId:        Integer          read FadGroupId write FadGroupId;
    property criterionType:    CriterionType    Index (IS_OPTN or IS_NLBL) read FcriterionType write SetcriterionType stored criterionType_Specified;
    property destinationUrl:   WideString       Index (IS_OPTN or IS_NLBL) read FdestinationUrl write SetdestinationUrl stored destinationUrl_Specified;
    property exemptionRequest: WideString       Index (IS_OPTN or IS_NLBL) read FexemptionRequest write SetexemptionRequest stored exemptionRequest_Specified;
    property id:               Int64            read Fid write Fid;
    property language:         WideString       Index (IS_NLBL) read Flanguage write Flanguage;
    property negative:         Boolean          Index (IS_NLBL) read Fnegative write Fnegative;
    property paused:           Boolean          Index (IS_OPTN or IS_NLBL) read Fpaused write Setpaused stored paused_Specified;
    property status:           CriterionStatus  Index (IS_OPTN or IS_NLBL) read Fstatus write Setstatus stored status_Specified;
  end;

  ProximityTargets = array of circles;          { "https://adwords.google.com/api/adwords/v10"[GblCplx] }


  // ************************************************************************ //
  // XML       : StatsRecord, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  StatsRecord = class(TRemotable)
  private
    FaveragePosition: Double;
    Fclicks: Int64;
    FconversionRate: Double;
    Fconversions: Int64;
    Fcost: Int64;
    Fid: Int64;
    Fimpressions: Int64;
  published
    property averagePosition: Double  read FaveragePosition write FaveragePosition;
    property clicks:          Int64   read Fclicks write Fclicks;
    property conversionRate:  Double  read FconversionRate write FconversionRate;
    property conversions:     Int64   read Fconversions write Fconversions;
    property cost:            Int64   read Fcost write Fcost;
    property id:              Int64   read Fid write Fid;
    property impressions:     Int64   read Fimpressions write Fimpressions;
  end;



  // ************************************************************************ //
  // XML       : useragent, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  useragent = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : password, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  password = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : email, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  email = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : clientEmail, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  clientEmail = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : clientCustomerId, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  clientCustomerId = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : developerToken, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  developerToken = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : applicationToken, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  applicationToken = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : responseTime, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  responseTime = class(TSOAPHeader)
  private
    FValue: Int64;
  published
    property Value: Int64  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : operations, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  operations = class(TSOAPHeader)
  private
    FValue: Int64;
  published
    property Value: Int64  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : units, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  units = class(TSOAPHeader)
  private
    FValue: Int64;
  published
    property Value: Int64  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : requestId, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  requestId = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;

  cities          =  type WideString;      { "http://www.w3.org/2001/XMLSchema"[alias] }
  CityTargets = array of cities;                { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  countries       =  type WideString;      { "http://www.w3.org/2001/XMLSchema"[alias] }
  CountryTargets = array of countries;          { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  metros          =  type WideString;      { "http://www.w3.org/2001/XMLSchema"[alias] }
  MetroTargets = array of metros;               { "https://adwords.google.com/api/adwords/v10"[GblCplx] }


  // ************************************************************************ //
  // XML       : circles, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  circles = class(Circle)
  private
  published
  end;

  regions         =  type WideString;      { "http://www.w3.org/2001/XMLSchema"[alias] }
  RegionTargets = array of regions;             { "https://adwords.google.com/api/adwords/v10"[GblCplx] }


  // ************************************************************************ //
  // XML       : GeoTarget, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  GeoTarget = class(TRemotable)
  private
    FcityTargets: CityTargets;
    FcityTargets_Specified: boolean;
    FcountryTargets: CountryTargets;
    FcountryTargets_Specified: boolean;
    FmetroTargets: MetroTargets;
    FmetroTargets_Specified: boolean;
    FproximityTargets: ProximityTargets;
    FproximityTargets_Specified: boolean;
    FregionTargets: RegionTargets;
    FregionTargets_Specified: boolean;
    FtargetAll: Boolean;
    procedure SetcityTargets(Index: Integer; const ACityTargets: CityTargets);
    function  cityTargets_Specified(Index: Integer): boolean;
    procedure SetcountryTargets(Index: Integer; const ACountryTargets: CountryTargets);
    function  countryTargets_Specified(Index: Integer): boolean;
    procedure SetmetroTargets(Index: Integer; const AMetroTargets: MetroTargets);
    function  metroTargets_Specified(Index: Integer): boolean;
    procedure SetproximityTargets(Index: Integer; const AProximityTargets: ProximityTargets);
    function  proximityTargets_Specified(Index: Integer): boolean;
    procedure SetregionTargets(Index: Integer; const ARegionTargets: RegionTargets);
    function  regionTargets_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property cityTargets:      CityTargets       Index (IS_OPTN) read FcityTargets write SetcityTargets stored cityTargets_Specified;
    property countryTargets:   CountryTargets    Index (IS_OPTN) read FcountryTargets write SetcountryTargets stored countryTargets_Specified;
    property metroTargets:     MetroTargets      Index (IS_OPTN) read FmetroTargets write SetmetroTargets stored metroTargets_Specified;
    property proximityTargets: ProximityTargets  Index (IS_OPTN) read FproximityTargets write SetproximityTargets stored proximityTargets_Specified;
    property regionTargets:    RegionTargets     Index (IS_OPTN) read FregionTargets write SetregionTargets stored regionTargets_Specified;
    property targetAll:        Boolean           read FtargetAll write FtargetAll;
  end;

  languages       =  type WideString;      { "http://www.w3.org/2001/XMLSchema"[alias] }
  LanguageTarget = array of languages;          { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  Array_Of_ApiError = array of ApiError;        { "https://adwords.google.com/api/adwords/v10"[Gblunbnd] }


  // ************************************************************************ //
  // XML       : ApiException, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Info      : Fault
  // ************************************************************************ //
  ApiException = class(ERemotableException)
  private
    Fcode: Integer;
    Ferrors: Array_Of_ApiError;
    Finternal: Boolean;
    Fmessage_: WideString;
    Ftrigger: WideString;
  public
    destructor Destroy; override;
  published
    property code:     Integer            read Fcode write Fcode;
    property errors:   Array_Of_ApiError  Index (IS_UNBD or IS_NLBL) read Ferrors write Ferrors;
    property internal: Boolean            read Finternal write Finternal;
    property message_: WideString         Index (IS_NLBL) read Fmessage_ write Fmessage_;
    property trigger:  WideString         Index (IS_NLBL) read Ftrigger write Ftrigger;
  end;



  // ************************************************************************ //
  // XML       : fault, global, <element>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Info      : Fault
  // ************************************************************************ //
  fault = class(ApiException)
  private
  published
  end;

  Array_Of_Criterion = array of Criterion;      { "https://adwords.google.com/api/adwords/v10"[Gblunbnd] }
  Array_Of_long = array of Int64;               { "http://www.w3.org/2001/XMLSchema"[Gblunbnd] }
  Array_Of_StatsRecord = array of StatsRecord;   { "https://adwords.google.com/api/adwords/v10"[Gblunbnd] }

  // ************************************************************************ //
  // Namespace : https://adwords.google.com/api/adwords/v10
  // transport : http://schemas.xmlsoap.org/soap/http
  // style     : document
  // binding   : CriterionServiceSoapBinding
  // service   : CriterionService
  // port      : CriterionService
  // URL       : https://adwords.google.com/api/adwords/v10/CriterionService
  // ************************************************************************ //
  CriterionInterface = interface(IInvokable)
  ['{5F8AA545-6C4B-6A0C-B3C7-10B3FED4463F}']

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  addCriteria(const criteria: Array_Of_Criterion): Array_Of_Criterion; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  checkCriteria(const criteria: Array_Of_Criterion; const languageTarget: LanguageTarget; const geoTarget: GeoTarget): Array_Of_ApiError; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  getAllCriteria(const adGroupId: Integer): Array_Of_Criterion; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  getCampaignNegativeCriteria(const campaignId: Integer): Array_Of_Criterion; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  getCriteria(const adGroupId: Integer; const criterionIds: Array_Of_long): Array_Of_Criterion; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  getCriterionStats(const adGroupId: Integer; const criterionIds: Array_Of_long; const startDay: TXSDate; const endDay: TXSDate): Array_Of_StatsRecord; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    procedure removeCriteria(const adGroupId: Integer; const criterionIds: Array_Of_long); stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    procedure setCampaignNegativeCriteria(const campaignId: Integer; const criteria: Array_Of_Criterion); stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    procedure updateCriteria(const criteria: Array_Of_Criterion); stdcall;
  end;

function GetCriterionInterface(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): CriterionInterface;


implementation
  uses SysUtils;

function GetCriterionInterface(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): CriterionInterface;
const
  defWSDL = 'https://adwords.google.com/api/adwords/v10/CriterionService?wsdl';
  defURL  = 'https://adwords.google.com/api/adwords/v10/CriterionService';
  defSvc  = 'CriterionService';
  defPrt  = 'CriterionService';
var
  RIO: THTTPRIO;
begin
  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as CriterionInterface);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;


procedure ApiError.Setfield(Index: Integer; const AWideString: WideString);
begin
  Ffield := AWideString;
  Ffield_Specified := True;
end;

function ApiError.field_Specified(Index: Integer): boolean;
begin
  Result := Ffield_Specified;
end;

procedure ApiError.SettextIndex(Index: Integer; const AInteger: Integer);
begin
  FtextIndex := AInteger;
  FtextIndex_Specified := True;
end;

function ApiError.textIndex_Specified(Index: Integer): boolean;
begin
  Result := FtextIndex_Specified;
end;

procedure ApiError.SettextLength(Index: Integer; const AInteger: Integer);
begin
  FtextLength := AInteger;
  FtextLength_Specified := True;
end;

function ApiError.textLength_Specified(Index: Integer): boolean;
begin
  Result := FtextLength_Specified;
end;

procedure ApiError.Settrigger(Index: Integer; const AWideString: WideString);
begin
  Ftrigger := AWideString;
  Ftrigger_Specified := True;
end;

function ApiError.trigger_Specified(Index: Integer): boolean;
begin
  Result := Ftrigger_Specified;
end;

procedure Criterion.SetcriterionType(Index: Integer; const ACriterionType: CriterionType);
begin
  FcriterionType := ACriterionType;
  FcriterionType_Specified := True;
end;

function Criterion.criterionType_Specified(Index: Integer): boolean;
begin
  Result := FcriterionType_Specified;
end;

procedure Criterion.SetdestinationUrl(Index: Integer; const AWideString: WideString);
begin
  FdestinationUrl := AWideString;
  FdestinationUrl_Specified := True;
end;

function Criterion.destinationUrl_Specified(Index: Integer): boolean;
begin
  Result := FdestinationUrl_Specified;
end;

procedure Criterion.SetexemptionRequest(Index: Integer; const AWideString: WideString);
begin
  FexemptionRequest := AWideString;
  FexemptionRequest_Specified := True;
end;

function Criterion.exemptionRequest_Specified(Index: Integer): boolean;
begin
  Result := FexemptionRequest_Specified;
end;

procedure Criterion.Setpaused(Index: Integer; const ABoolean: Boolean);
begin
  Fpaused := ABoolean;
  Fpaused_Specified := True;
end;

function Criterion.paused_Specified(Index: Integer): boolean;
begin
  Result := Fpaused_Specified;
end;

procedure Criterion.Setstatus(Index: Integer; const ACriterionStatus: CriterionStatus);
begin
  Fstatus := ACriterionStatus;
  Fstatus_Specified := True;
end;

function Criterion.status_Specified(Index: Integer): boolean;
begin
  Result := Fstatus_Specified;
end;

destructor GeoTarget.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FproximityTargets)-1 do
    FreeAndNil(FproximityTargets[I]);
  SetLength(FproximityTargets, 0);
  inherited Destroy;
end;

procedure GeoTarget.SetcityTargets(Index: Integer; const ACityTargets: CityTargets);
begin
  FcityTargets := ACityTargets;
  FcityTargets_Specified := True;
end;

function GeoTarget.cityTargets_Specified(Index: Integer): boolean;
begin
  Result := FcityTargets_Specified;
end;

procedure GeoTarget.SetcountryTargets(Index: Integer; const ACountryTargets: CountryTargets);
begin
  FcountryTargets := ACountryTargets;
  FcountryTargets_Specified := True;
end;

function GeoTarget.countryTargets_Specified(Index: Integer): boolean;
begin
  Result := FcountryTargets_Specified;
end;

procedure GeoTarget.SetmetroTargets(Index: Integer; const AMetroTargets: MetroTargets);
begin
  FmetroTargets := AMetroTargets;
  FmetroTargets_Specified := True;
end;

function GeoTarget.metroTargets_Specified(Index: Integer): boolean;
begin
  Result := FmetroTargets_Specified;
end;

procedure GeoTarget.SetproximityTargets(Index: Integer; const AProximityTargets: ProximityTargets);
begin
  FproximityTargets := AProximityTargets;
  FproximityTargets_Specified := True;
end;

function GeoTarget.proximityTargets_Specified(Index: Integer): boolean;
begin
  Result := FproximityTargets_Specified;
end;

procedure GeoTarget.SetregionTargets(Index: Integer; const ARegionTargets: RegionTargets);
begin
  FregionTargets := ARegionTargets;
  FregionTargets_Specified := True;
end;

function GeoTarget.regionTargets_Specified(Index: Integer): boolean;
begin
  Result := FregionTargets_Specified;
end;

destructor ApiException.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(Ferrors)-1 do
    FreeAndNil(Ferrors[I]);
  SetLength(Ferrors, 0);
  inherited Destroy;
end;

initialization
  InvRegistry.RegisterInterface(TypeInfo(CriterionInterface), 'https://adwords.google.com/api/adwords/v10', 'UTF-8');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(CriterionInterface), '');
  InvRegistry.RegisterInvokeOptions(TypeInfo(CriterionInterface), ioDocument);
  InvRegistry.RegisterHeaderClass(TypeInfo(CriterionInterface), useragent, 'useragent', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(CriterionInterface), password, 'password', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(CriterionInterface), email, 'email', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(CriterionInterface), clientEmail, 'clientEmail', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(CriterionInterface), clientCustomerId, 'clientCustomerId', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(CriterionInterface), developerToken, 'developerToken', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(CriterionInterface), applicationToken, 'applicationToken', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(CriterionInterface), responseTime, 'responseTime', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(CriterionInterface), operations, 'operations', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(CriterionInterface), units, 'units', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(CriterionInterface), requestId, 'requestId', 'https://adwords.google.com/api/adwords/v10');
  RemClassRegistry.RegisterXSClass(ApiError, 'https://adwords.google.com/api/adwords/v10', 'ApiError');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(ApiError), 'index_', 'index');
  RemClassRegistry.RegisterXSClass(Circle, 'https://adwords.google.com/api/adwords/v10', 'Circle');
  RemClassRegistry.RegisterXSInfo(TypeInfo(CriterionType), 'https://adwords.google.com/api/adwords/v10', 'CriterionType');
  RemClassRegistry.RegisterXSInfo(TypeInfo(CriterionStatus), 'https://adwords.google.com/api/adwords/v10', 'CriterionStatus');
  RemClassRegistry.RegisterXSClass(Criterion, 'https://adwords.google.com/api/adwords/v10', 'Criterion');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ProximityTargets), 'https://adwords.google.com/api/adwords/v10', 'ProximityTargets');
  RemClassRegistry.RegisterXSClass(StatsRecord, 'https://adwords.google.com/api/adwords/v10', 'StatsRecord');
  RemClassRegistry.RegisterXSClass(useragent, 'https://adwords.google.com/api/adwords/v10', 'useragent');
  RemClassRegistry.RegisterSerializeOptions(useragent, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(password, 'https://adwords.google.com/api/adwords/v10', 'password');
  RemClassRegistry.RegisterSerializeOptions(password, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(email, 'https://adwords.google.com/api/adwords/v10', 'email');
  RemClassRegistry.RegisterSerializeOptions(email, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(clientEmail, 'https://adwords.google.com/api/adwords/v10', 'clientEmail');
  RemClassRegistry.RegisterSerializeOptions(clientEmail, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(clientCustomerId, 'https://adwords.google.com/api/adwords/v10', 'clientCustomerId');
  RemClassRegistry.RegisterSerializeOptions(clientCustomerId, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(developerToken, 'https://adwords.google.com/api/adwords/v10', 'developerToken');
  RemClassRegistry.RegisterSerializeOptions(developerToken, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(applicationToken, 'https://adwords.google.com/api/adwords/v10', 'applicationToken');
  RemClassRegistry.RegisterSerializeOptions(applicationToken, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(responseTime, 'https://adwords.google.com/api/adwords/v10', 'responseTime');
  RemClassRegistry.RegisterSerializeOptions(responseTime, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(operations, 'https://adwords.google.com/api/adwords/v10', 'operations');
  RemClassRegistry.RegisterSerializeOptions(operations, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(units, 'https://adwords.google.com/api/adwords/v10', 'units');
  RemClassRegistry.RegisterSerializeOptions(units, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(requestId, 'https://adwords.google.com/api/adwords/v10', 'requestId');
  RemClassRegistry.RegisterSerializeOptions(requestId, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSInfo(TypeInfo(cities), 'http://www.w3.org/2001/XMLSchema', 'cities');
  RemClassRegistry.RegisterXSInfo(TypeInfo(CityTargets), 'https://adwords.google.com/api/adwords/v10', 'CityTargets');
  RemClassRegistry.RegisterXSInfo(TypeInfo(countries), 'http://www.w3.org/2001/XMLSchema', 'countries');
  RemClassRegistry.RegisterXSInfo(TypeInfo(CountryTargets), 'https://adwords.google.com/api/adwords/v10', 'CountryTargets');
  RemClassRegistry.RegisterXSInfo(TypeInfo(metros), 'http://www.w3.org/2001/XMLSchema', 'metros');
  RemClassRegistry.RegisterXSInfo(TypeInfo(MetroTargets), 'https://adwords.google.com/api/adwords/v10', 'MetroTargets');
  RemClassRegistry.RegisterXSClass(circles, 'https://adwords.google.com/api/adwords/v10', 'circles');
  RemClassRegistry.RegisterXSInfo(TypeInfo(regions), 'http://www.w3.org/2001/XMLSchema', 'regions');
  RemClassRegistry.RegisterXSInfo(TypeInfo(RegionTargets), 'https://adwords.google.com/api/adwords/v10', 'RegionTargets');
  RemClassRegistry.RegisterXSClass(GeoTarget, 'https://adwords.google.com/api/adwords/v10', 'GeoTarget');
  RemClassRegistry.RegisterXSInfo(TypeInfo(languages), 'http://www.w3.org/2001/XMLSchema', 'languages');
  RemClassRegistry.RegisterXSInfo(TypeInfo(LanguageTarget), 'https://adwords.google.com/api/adwords/v10', 'LanguageTarget');
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_ApiError), 'https://adwords.google.com/api/adwords/v10', 'Array_Of_ApiError');
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(Array_Of_ApiError), [xoInlineArrays]);
  RemClassRegistry.RegisterXSClass(ApiException, 'https://adwords.google.com/api/adwords/v10', 'ApiException');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(ApiException), 'message_', 'message');
  RemClassRegistry.RegisterXSClass(fault, 'https://adwords.google.com/api/adwords/v10', 'fault');
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_Criterion), 'https://adwords.google.com/api/adwords/v10', 'Array_Of_Criterion');
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(Array_Of_Criterion), [xoInlineArrays]);
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_long), 'http://www.w3.org/2001/XMLSchema', 'Array_Of_long');
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(Array_Of_long), [xoInlineArrays]);
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_StatsRecord), 'https://adwords.google.com/api/adwords/v10', 'Array_Of_StatsRecord');
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(Array_Of_StatsRecord), [xoInlineArrays]);

end.
-------------- next part --------------
// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL     : https://adwords.google.com/api/adwords/v10/AdService?wsdl
//  >Import : https://adwords.google.com/api/adwords/v10/AdService?wsdl:0
// Encoding : UTF-8
// Codegen  : [wfUseSerializerClassForAttrs-]
// Version  : 1.0
// (3/05/2007 7:14:44 AM - * $Rev: 5154 $)
// ************************************************************************ //

unit AdService;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

const
  IS_OPTN = $0001;
  IS_UNBD = $0002;
  IS_NLBL = $0004;
  IS_UNQL = $0008;
  IS_ATTR = $0010;
  IS_TEXT = $0020;

type

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically map to predefined/known XML or Borland types; however, they could also 
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //
  // !:int             - "http://www.w3.org/2001/XMLSchema"
  // !:string          - "http://www.w3.org/2001/XMLSchema"
  // !:boolean         - "http://www.w3.org/2001/XMLSchema"
  // !:long            - "http://www.w3.org/2001/XMLSchema"
  // !:double          - "http://www.w3.org/2001/XMLSchema"
  // !:date            - "http://www.w3.org/2001/XMLSchema"

  Ad                   = class;                 { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  ApiError             = class;                 { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  Business             = class;                 { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  Circle               = class;                 { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  StatsRecord          = class;                 { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  Video                = class;                 { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  useragent            = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  password             = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  email                = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  clientEmail          = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  clientCustomerId     = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  developerToken       = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  applicationToken     = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  responseTime         = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  operations           = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  units                = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  requestId            = class;                 { "https://adwords.google.com/api/adwords/v10"[Hdr][alias] }
  circles              = class;                 { "https://adwords.google.com/api/adwords/v10"[alias] }
  GeoTarget            = class;                 { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  ApiException         = class;                 { "https://adwords.google.com/api/adwords/v10"[Flt][GblCplx] }
  fault                = class;                 { "https://adwords.google.com/api/adwords/v10"[Flt][GblElm] }

  { "https://adwords.google.com/api/adwords/v10"[GblSmpl] }
  AdType = (TextAd, ImageAd, LocalBusinessAd, MobileAd, CommerceAd, VideoAd);

  { "https://adwords.google.com/api/adwords/v10"[GblSmpl] }
  AdStatus = (Enabled, Disabled, Paused);



  // ************************************************************************ //
  // XML       : Ad, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  Ad = class(TRemotable)
  private
    FadGroupId: Integer;
    FadType: AdType;
    FadType_Specified: boolean;
    FdestinationUrl: WideString;
    FdestinationUrl_Specified: boolean;
    Fdisapproved: Boolean;
    FdisplayUrl: WideString;
    FdisplayUrl_Specified: boolean;
    FexemptionRequest: WideString;
    FexemptionRequest_Specified: boolean;
    Fid: Int64;
    Fstatus: AdStatus;
    Fstatus_Specified: boolean;
    procedure SetadType(Index: Integer; const AAdType: AdType);
    function  adType_Specified(Index: Integer): boolean;
    procedure SetdestinationUrl(Index: Integer; const AWideString: WideString);
    function  destinationUrl_Specified(Index: Integer): boolean;
    procedure SetdisplayUrl(Index: Integer; const AWideString: WideString);
    function  displayUrl_Specified(Index: Integer): boolean;
    procedure SetexemptionRequest(Index: Integer; const AWideString: WideString);
    function  exemptionRequest_Specified(Index: Integer): boolean;
    procedure Setstatus(Index: Integer; const AAdStatus: AdStatus);
    function  status_Specified(Index: Integer): boolean;
  published
    property adGroupId:        Integer     read FadGroupId write FadGroupId;
    property adType:           AdType      Index (IS_OPTN or IS_NLBL) read FadType write SetadType stored adType_Specified;
    property destinationUrl:   WideString  Index (IS_OPTN or IS_NLBL) read FdestinationUrl write SetdestinationUrl stored destinationUrl_Specified;
    property disapproved:      Boolean     read Fdisapproved write Fdisapproved;
    property displayUrl:       WideString  Index (IS_OPTN or IS_NLBL) read FdisplayUrl write SetdisplayUrl stored displayUrl_Specified;
    property exemptionRequest: WideString  Index (IS_OPTN or IS_NLBL) read FexemptionRequest write SetexemptionRequest stored exemptionRequest_Specified;
    property id:               Int64       read Fid write Fid;
    property status:           AdStatus    Index (IS_OPTN or IS_NLBL) read Fstatus write Setstatus stored status_Specified;
  end;



  // ************************************************************************ //
  // XML       : ApiError, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  ApiError = class(TRemotable)
  private
    Fcode: Integer;
    Fdetail: WideString;
    Ffield: WideString;
    Ffield_Specified: boolean;
    Findex_: Integer;
    FisExemptable: Boolean;
    FtextIndex: Integer;
    FtextIndex_Specified: boolean;
    FtextLength: Integer;
    FtextLength_Specified: boolean;
    Ftrigger: WideString;
    Ftrigger_Specified: boolean;
    procedure Setfield(Index: Integer; const AWideString: WideString);
    function  field_Specified(Index: Integer): boolean;
    procedure SettextIndex(Index: Integer; const AInteger: Integer);
    function  textIndex_Specified(Index: Integer): boolean;
    procedure SettextLength(Index: Integer; const AInteger: Integer);
    function  textLength_Specified(Index: Integer): boolean;
    procedure Settrigger(Index: Integer; const AWideString: WideString);
    function  trigger_Specified(Index: Integer): boolean;
  published
    property code:         Integer     read Fcode write Fcode;
    property detail:       WideString  read Fdetail write Fdetail;
    property field:        WideString  Index (IS_OPTN) read Ffield write Setfield stored field_Specified;
    property index_:       Integer     read Findex_ write Findex_;
    property isExemptable: Boolean     read FisExemptable write FisExemptable;
    property textIndex:    Integer     Index (IS_OPTN) read FtextIndex write SettextIndex stored textIndex_Specified;
    property textLength:   Integer     Index (IS_OPTN) read FtextLength write SettextLength stored textLength_Specified;
    property trigger:      WideString  Index (IS_OPTN) read Ftrigger write Settrigger stored trigger_Specified;
  end;



  // ************************************************************************ //
  // XML       : Business, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  Business = class(TRemotable)
  private
    Faddress: WideString;
    Fcity: WideString;
    FcountryCode: WideString;
    Fkey: WideString;
    Flatitude: WideString;
    Flongitude: WideString;
    Fname_: WideString;
    FphoneNumber: WideString;
    FpostalCode: WideString;
    Fregion: WideString;
    Ftimestamp: Int64;
  published
    property address:     WideString  read Faddress write Faddress;
    property city:        WideString  read Fcity write Fcity;
    property countryCode: WideString  read FcountryCode write FcountryCode;
    property key:         WideString  read Fkey write Fkey;
    property latitude:    WideString  read Flatitude write Flatitude;
    property longitude:   WideString  read Flongitude write Flongitude;
    property name_:       WideString  read Fname_ write Fname_;
    property phoneNumber: WideString  read FphoneNumber write FphoneNumber;
    property postalCode:  WideString  read FpostalCode write FpostalCode;
    property region:      WideString  read Fregion write Fregion;
    property timestamp:   Int64       read Ftimestamp write Ftimestamp;
  end;



  // ************************************************************************ //
  // XML       : Circle, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  Circle = class(TRemotable)
  private
    FlatitudeMicroDegrees: Integer;
    FlongitudeMicroDegrees: Integer;
    FradiusMeters: Integer;
  published
    property latitudeMicroDegrees:  Integer  read FlatitudeMicroDegrees write FlatitudeMicroDegrees;
    property longitudeMicroDegrees: Integer  read FlongitudeMicroDegrees write FlongitudeMicroDegrees;
    property radiusMeters:          Integer  read FradiusMeters write FradiusMeters;
  end;

  ProximityTargets = array of circles;          { "https://adwords.google.com/api/adwords/v10"[GblCplx] }


  // ************************************************************************ //
  // XML       : StatsRecord, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  StatsRecord = class(TRemotable)
  private
    FaveragePosition: Double;
    Fclicks: Int64;
    FconversionRate: Double;
    Fconversions: Int64;
    Fcost: Int64;
    Fid: Int64;
    Fimpressions: Int64;
  published
    property averagePosition: Double  read FaveragePosition write FaveragePosition;
    property clicks:          Int64   read Fclicks write Fclicks;
    property conversionRate:  Double  read FconversionRate write FconversionRate;
    property conversions:     Int64   read Fconversions write Fconversions;
    property cost:            Int64   read Fcost write Fcost;
    property id:              Int64   read Fid write Fid;
    property impressions:     Int64   read Fimpressions write Fimpressions;
  end;



  // ************************************************************************ //
  // XML       : Video, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  Video = class(TRemotable)
  private
    Fduration: Int64;
    Fduration_Specified: boolean;
    Ffilename: WideString;
    Ffilename_Specified: boolean;
    Fpreview: WideString;
    Fpreview_Specified: boolean;
    Ftitle: WideString;
    Ftitle_Specified: boolean;
    FvideoId: Int64;
    procedure Setduration(Index: Integer; const AInt64: Int64);
    function  duration_Specified(Index: Integer): boolean;
    procedure Setfilename(Index: Integer; const AWideString: WideString);
    function  filename_Specified(Index: Integer): boolean;
    procedure Setpreview(Index: Integer; const AWideString: WideString);
    function  preview_Specified(Index: Integer): boolean;
    procedure Settitle(Index: Integer; const AWideString: WideString);
    function  title_Specified(Index: Integer): boolean;
  published
    property duration: Int64       Index (IS_OPTN) read Fduration write Setduration stored duration_Specified;
    property filename: WideString  Index (IS_OPTN) read Ffilename write Setfilename stored filename_Specified;
    property preview:  WideString  Index (IS_OPTN) read Fpreview write Setpreview stored preview_Specified;
    property title:    WideString  Index (IS_OPTN) read Ftitle write Settitle stored title_Specified;
    property videoId:  Int64       read FvideoId write FvideoId;
  end;



  // ************************************************************************ //
  // XML       : useragent, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  useragent = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : password, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  password = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : email, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  email = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : clientEmail, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  clientEmail = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : clientCustomerId, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  clientCustomerId = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : developerToken, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  developerToken = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : applicationToken, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  applicationToken = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : responseTime, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  responseTime = class(TSOAPHeader)
  private
    FValue: Int64;
  published
    property Value: Int64  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : operations, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  operations = class(TSOAPHeader)
  private
    FValue: Int64;
  published
    property Value: Int64  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : units, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  units = class(TSOAPHeader)
  private
    FValue: Int64;
  published
    property Value: Int64  read FValue write FValue;
  end;



  // ************************************************************************ //
  // XML       : requestId, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Serializtn: [xoSimpleTypeWrapper]
  // Info      : Header
  // ************************************************************************ //
  requestId = class(TSOAPHeader)
  private
    FValue: WideString;
  published
    property Value: WideString  read FValue write FValue;
  end;

  cities          =  type WideString;      { "http://www.w3.org/2001/XMLSchema"[alias] }
  CityTargets = array of cities;                { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  countries       =  type WideString;      { "http://www.w3.org/2001/XMLSchema"[alias] }
  CountryTargets = array of countries;          { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  metros          =  type WideString;      { "http://www.w3.org/2001/XMLSchema"[alias] }
  MetroTargets = array of metros;               { "https://adwords.google.com/api/adwords/v10"[GblCplx] }


  // ************************************************************************ //
  // XML       : circles, alias
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  circles = class(Circle)
  private
  published
  end;

  regions         =  type WideString;      { "http://www.w3.org/2001/XMLSchema"[alias] }
  RegionTargets = array of regions;             { "https://adwords.google.com/api/adwords/v10"[GblCplx] }


  // ************************************************************************ //
  // XML       : GeoTarget, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // ************************************************************************ //
  GeoTarget = class(TRemotable)
  private
    FcityTargets: CityTargets;
    FcityTargets_Specified: boolean;
    FcountryTargets: CountryTargets;
    FcountryTargets_Specified: boolean;
    FmetroTargets: MetroTargets;
    FmetroTargets_Specified: boolean;
    FproximityTargets: ProximityTargets;
    FproximityTargets_Specified: boolean;
    FregionTargets: RegionTargets;
    FregionTargets_Specified: boolean;
    FtargetAll: Boolean;
    procedure SetcityTargets(Index: Integer; const ACityTargets: CityTargets);
    function  cityTargets_Specified(Index: Integer): boolean;
    procedure SetcountryTargets(Index: Integer; const ACountryTargets: CountryTargets);
    function  countryTargets_Specified(Index: Integer): boolean;
    procedure SetmetroTargets(Index: Integer; const AMetroTargets: MetroTargets);
    function  metroTargets_Specified(Index: Integer): boolean;
    procedure SetproximityTargets(Index: Integer; const AProximityTargets: ProximityTargets);
    function  proximityTargets_Specified(Index: Integer): boolean;
    procedure SetregionTargets(Index: Integer; const ARegionTargets: RegionTargets);
    function  regionTargets_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property cityTargets:      CityTargets       Index (IS_OPTN) read FcityTargets write SetcityTargets stored cityTargets_Specified;
    property countryTargets:   CountryTargets    Index (IS_OPTN) read FcountryTargets write SetcountryTargets stored countryTargets_Specified;
    property metroTargets:     MetroTargets      Index (IS_OPTN) read FmetroTargets write SetmetroTargets stored metroTargets_Specified;
    property proximityTargets: ProximityTargets  Index (IS_OPTN) read FproximityTargets write SetproximityTargets stored proximityTargets_Specified;
    property regionTargets:    RegionTargets     Index (IS_OPTN) read FregionTargets write SetregionTargets stored regionTargets_Specified;
    property targetAll:        Boolean           read FtargetAll write FtargetAll;
  end;

  languages       =  type WideString;      { "http://www.w3.org/2001/XMLSchema"[alias] }
  LanguageTarget = array of languages;          { "https://adwords.google.com/api/adwords/v10"[GblCplx] }
  Array_Of_ApiError = array of ApiError;        { "https://adwords.google.com/api/adwords/v10"[Gblunbnd] }


  // ************************************************************************ //
  // XML       : ApiException, global, <complexType>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Info      : Fault
  // ************************************************************************ //
  ApiException = class(ERemotableException)
  private
    Fcode: Integer;
    Ferrors: Array_Of_ApiError;
    Finternal: Boolean;
    Fmessage_: WideString;
    Ftrigger: WideString;
  public
    destructor Destroy; override;
  published
    property code:     Integer            read Fcode write Fcode;
    property errors:   Array_Of_ApiError  Index (IS_UNBD or IS_NLBL) read Ferrors write Ferrors;
    property internal: Boolean            read Finternal write Finternal;
    property message_: WideString         Index (IS_NLBL) read Fmessage_ write Fmessage_;
    property trigger:  WideString         Index (IS_NLBL) read Ftrigger write Ftrigger;
  end;



  // ************************************************************************ //
  // XML       : fault, global, <element>
  // Namespace : https://adwords.google.com/api/adwords/v10
  // Info      : Fault
  // ************************************************************************ //
  fault = class(ApiException)
  private
  published
  end;

  Array_Of_string = array of WideString;        { "http://www.w3.org/2001/XMLSchema"[Gblunbnd] }
  Array_Of_Ad = array of Ad;                    { "https://adwords.google.com/api/adwords/v10"[Gblunbnd] }
  Array_Of_long = array of Int64;               { "http://www.w3.org/2001/XMLSchema"[Gblunbnd] }
  Array_Of_Business = array of Business;        { "https://adwords.google.com/api/adwords/v10"[Gblunbnd] }
  Array_Of_int = array of Integer;              { "http://www.w3.org/2001/XMLSchema"[Gblunbnd] }
  Array_Of_StatsRecord = array of StatsRecord;   { "https://adwords.google.com/api/adwords/v10"[Gblunbnd] }
  Array_Of_Video = array of Video;              { "https://adwords.google.com/api/adwords/v10"[Gblunbnd] }

  // ************************************************************************ //
  // Namespace : https://adwords.google.com/api/adwords/v10
  // transport : http://schemas.xmlsoap.org/soap/http
  // style     : document
  // binding   : AdServiceSoapBinding
  // service   : AdService
  // port      : AdService
  // URL       : https://adwords.google.com/api/adwords/v10/AdService
  // ************************************************************************ //
  AdInterface = interface(IInvokable)
  ['{E370386B-3A18-2EA7-9C2E-73F2F979FF95}']

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  addAds(const ads: Array_Of_Ad): Array_Of_Ad; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  checkAds(const ads: Array_Of_Ad; const languageTarget: LanguageTarget; const geoTarget: GeoTarget): Array_Of_ApiError; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  findBusinesses(const name_: WideString; const address: WideString; const countryCode: WideString): Array_Of_Business; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  getActiveAds(const adGroupIds: Array_Of_int): Array_Of_Ad; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  getAd(const adGroupId: Integer; const adId: Int64): Ad; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  getAdStats(const adGroupId: Integer; const adIds: Array_Of_long; const startDay: TXSDate; const endDay: TXSDate): Array_Of_StatsRecord; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  getAllAds(const adGroupIds: Array_Of_int): Array_Of_Ad; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  getMyBusinesses: Array_Of_Business; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    function  getMyVideos: Array_Of_Video; stdcall;

    // Headers: useragent:pIn, password:pIn, email:pIn, clientEmail:pIn, clientCustomerId:pIn, developerToken:pIn, applicationToken:pIn, responseTime:pOut, operations:pOut, units:pOut, requestId:pOut
    procedure updateAds(const ads: Array_Of_Ad); stdcall;
  end;

function GetAdInterface(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): AdInterface;


implementation
  uses SysUtils;

function GetAdInterface(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): AdInterface;
const
  defWSDL = 'https://adwords.google.com/api/adwords/v10/AdService?wsdl';
  defURL  = 'https://adwords.google.com/api/adwords/v10/AdService';
  defSvc  = 'AdService';
  defPrt  = 'AdService';
var
  RIO: THTTPRIO;
begin
  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as AdInterface);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;


procedure Ad.SetadType(Index: Integer; const AAdType: AdType);
begin
  FadType := AAdType;
  FadType_Specified := True;
end;

function Ad.adType_Specified(Index: Integer): boolean;
begin
  Result := FadType_Specified;
end;

procedure Ad.SetdestinationUrl(Index: Integer; const AWideString: WideString);
begin
  FdestinationUrl := AWideString;
  FdestinationUrl_Specified := True;
end;

function Ad.destinationUrl_Specified(Index: Integer): boolean;
begin
  Result := FdestinationUrl_Specified;
end;

procedure Ad.SetdisplayUrl(Index: Integer; const AWideString: WideString);
begin
  FdisplayUrl := AWideString;
  FdisplayUrl_Specified := True;
end;

function Ad.displayUrl_Specified(Index: Integer): boolean;
begin
  Result := FdisplayUrl_Specified;
end;

procedure Ad.SetexemptionRequest(Index: Integer; const AWideString: WideString);
begin
  FexemptionRequest := AWideString;
  FexemptionRequest_Specified := True;
end;

function Ad.exemptionRequest_Specified(Index: Integer): boolean;
begin
  Result := FexemptionRequest_Specified;
end;

procedure Ad.Setstatus(Index: Integer; const AAdStatus: AdStatus);
begin
  Fstatus := AAdStatus;
  Fstatus_Specified := True;
end;

function Ad.status_Specified(Index: Integer): boolean;
begin
  Result := Fstatus_Specified;
end;

procedure ApiError.Setfield(Index: Integer; const AWideString: WideString);
begin
  Ffield := AWideString;
  Ffield_Specified := True;
end;

function ApiError.field_Specified(Index: Integer): boolean;
begin
  Result := Ffield_Specified;
end;

procedure ApiError.SettextIndex(Index: Integer; const AInteger: Integer);
begin
  FtextIndex := AInteger;
  FtextIndex_Specified := True;
end;

function ApiError.textIndex_Specified(Index: Integer): boolean;
begin
  Result := FtextIndex_Specified;
end;

procedure ApiError.SettextLength(Index: Integer; const AInteger: Integer);
begin
  FtextLength := AInteger;
  FtextLength_Specified := True;
end;

function ApiError.textLength_Specified(Index: Integer): boolean;
begin
  Result := FtextLength_Specified;
end;

procedure ApiError.Settrigger(Index: Integer; const AWideString: WideString);
begin
  Ftrigger := AWideString;
  Ftrigger_Specified := True;
end;

function ApiError.trigger_Specified(Index: Integer): boolean;
begin
  Result := Ftrigger_Specified;
end;

procedure Video.Setduration(Index: Integer; const AInt64: Int64);
begin
  Fduration := AInt64;
  Fduration_Specified := True;
end;

function Video.duration_Specified(Index: Integer): boolean;
begin
  Result := Fduration_Specified;
end;

procedure Video.Setfilename(Index: Integer; const AWideString: WideString);
begin
  Ffilename := AWideString;
  Ffilename_Specified := True;
end;

function Video.filename_Specified(Index: Integer): boolean;
begin
  Result := Ffilename_Specified;
end;

procedure Video.Setpreview(Index: Integer; const AWideString: WideString);
begin
  Fpreview := AWideString;
  Fpreview_Specified := True;
end;

function Video.preview_Specified(Index: Integer): boolean;
begin
  Result := Fpreview_Specified;
end;

procedure Video.Settitle(Index: Integer; const AWideString: WideString);
begin
  Ftitle := AWideString;
  Ftitle_Specified := True;
end;

function Video.title_Specified(Index: Integer): boolean;
begin
  Result := Ftitle_Specified;
end;

destructor GeoTarget.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FproximityTargets)-1 do
    FreeAndNil(FproximityTargets[I]);
  SetLength(FproximityTargets, 0);
  inherited Destroy;
end;

procedure GeoTarget.SetcityTargets(Index: Integer; const ACityTargets: CityTargets);
begin
  FcityTargets := ACityTargets;
  FcityTargets_Specified := True;
end;

function GeoTarget.cityTargets_Specified(Index: Integer): boolean;
begin
  Result := FcityTargets_Specified;
end;

procedure GeoTarget.SetcountryTargets(Index: Integer; const ACountryTargets: CountryTargets);
begin
  FcountryTargets := ACountryTargets;
  FcountryTargets_Specified := True;
end;

function GeoTarget.countryTargets_Specified(Index: Integer): boolean;
begin
  Result := FcountryTargets_Specified;
end;

procedure GeoTarget.SetmetroTargets(Index: Integer; const AMetroTargets: MetroTargets);
begin
  FmetroTargets := AMetroTargets;
  FmetroTargets_Specified := True;
end;

function GeoTarget.metroTargets_Specified(Index: Integer): boolean;
begin
  Result := FmetroTargets_Specified;
end;

procedure GeoTarget.SetproximityTargets(Index: Integer; const AProximityTargets: ProximityTargets);
begin
  FproximityTargets := AProximityTargets;
  FproximityTargets_Specified := True;
end;

function GeoTarget.proximityTargets_Specified(Index: Integer): boolean;
begin
  Result := FproximityTargets_Specified;
end;

procedure GeoTarget.SetregionTargets(Index: Integer; const ARegionTargets: RegionTargets);
begin
  FregionTargets := ARegionTargets;
  FregionTargets_Specified := True;
end;

function GeoTarget.regionTargets_Specified(Index: Integer): boolean;
begin
  Result := FregionTargets_Specified;
end;

destructor ApiException.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(Ferrors)-1 do
    FreeAndNil(Ferrors[I]);
  SetLength(Ferrors, 0);
  inherited Destroy;
end;

initialization
  InvRegistry.RegisterInterface(TypeInfo(AdInterface), 'https://adwords.google.com/api/adwords/v10', 'UTF-8');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(AdInterface), '');
  InvRegistry.RegisterInvokeOptions(TypeInfo(AdInterface), ioDocument);
  InvRegistry.RegisterHeaderClass(TypeInfo(AdInterface), useragent, 'useragent', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(AdInterface), password, 'password', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(AdInterface), email, 'email', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(AdInterface), clientEmail, 'clientEmail', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(AdInterface), clientCustomerId, 'clientCustomerId', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(AdInterface), developerToken, 'developerToken', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(AdInterface), applicationToken, 'applicationToken', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(AdInterface), responseTime, 'responseTime', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(AdInterface), operations, 'operations', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(AdInterface), units, 'units', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterHeaderClass(TypeInfo(AdInterface), requestId, 'requestId', 'https://adwords.google.com/api/adwords/v10');
  InvRegistry.RegisterExternalParamName(TypeInfo(AdInterface), 'findBusinesses', 'name_', 'name');
  RemClassRegistry.RegisterXSInfo(TypeInfo(AdType), 'https://adwords.google.com/api/adwords/v10', 'AdType');
  RemClassRegistry.RegisterXSInfo(TypeInfo(AdStatus), 'https://adwords.google.com/api/adwords/v10', 'AdStatus');
  RemClassRegistry.RegisterXSClass(Ad, 'https://adwords.google.com/api/adwords/v10', 'Ad');
  RemClassRegistry.RegisterXSClass(ApiError, 'https://adwords.google.com/api/adwords/v10', 'ApiError');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(ApiError), 'index_', 'index');
  RemClassRegistry.RegisterXSClass(Business, 'https://adwords.google.com/api/adwords/v10', 'Business');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(Business), 'name_', 'name');
  RemClassRegistry.RegisterXSClass(Circle, 'https://adwords.google.com/api/adwords/v10', 'Circle');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ProximityTargets), 'https://adwords.google.com/api/adwords/v10', 'ProximityTargets');
  RemClassRegistry.RegisterXSClass(StatsRecord, 'https://adwords.google.com/api/adwords/v10', 'StatsRecord');
  RemClassRegistry.RegisterXSClass(Video, 'https://adwords.google.com/api/adwords/v10', 'Video');
  RemClassRegistry.RegisterXSClass(useragent, 'https://adwords.google.com/api/adwords/v10', 'useragent');
  RemClassRegistry.RegisterSerializeOptions(useragent, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(password, 'https://adwords.google.com/api/adwords/v10', 'password');
  RemClassRegistry.RegisterSerializeOptions(password, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(email, 'https://adwords.google.com/api/adwords/v10', 'email');
  RemClassRegistry.RegisterSerializeOptions(email, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(clientEmail, 'https://adwords.google.com/api/adwords/v10', 'clientEmail');
  RemClassRegistry.RegisterSerializeOptions(clientEmail, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(clientCustomerId, 'https://adwords.google.com/api/adwords/v10', 'clientCustomerId');
  RemClassRegistry.RegisterSerializeOptions(clientCustomerId, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(developerToken, 'https://adwords.google.com/api/adwords/v10', 'developerToken');
  RemClassRegistry.RegisterSerializeOptions(developerToken, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(applicationToken, 'https://adwords.google.com/api/adwords/v10', 'applicationToken');
  RemClassRegistry.RegisterSerializeOptions(applicationToken, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(responseTime, 'https://adwords.google.com/api/adwords/v10', 'responseTime');
  RemClassRegistry.RegisterSerializeOptions(responseTime, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(operations, 'https://adwords.google.com/api/adwords/v10', 'operations');
  RemClassRegistry.RegisterSerializeOptions(operations, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(units, 'https://adwords.google.com/api/adwords/v10', 'units');
  RemClassRegistry.RegisterSerializeOptions(units, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSClass(requestId, 'https://adwords.google.com/api/adwords/v10', 'requestId');
  RemClassRegistry.RegisterSerializeOptions(requestId, [xoSimpleTypeWrapper]);
  RemClassRegistry.RegisterXSInfo(TypeInfo(cities), 'http://www.w3.org/2001/XMLSchema', 'cities');
  RemClassRegistry.RegisterXSInfo(TypeInfo(CityTargets), 'https://adwords.google.com/api/adwords/v10', 'CityTargets');
  RemClassRegistry.RegisterXSInfo(TypeInfo(countries), 'http://www.w3.org/2001/XMLSchema', 'countries');
  RemClassRegistry.RegisterXSInfo(TypeInfo(CountryTargets), 'https://adwords.google.com/api/adwords/v10', 'CountryTargets');
  RemClassRegistry.RegisterXSInfo(TypeInfo(metros), 'http://www.w3.org/2001/XMLSchema', 'metros');
  RemClassRegistry.RegisterXSInfo(TypeInfo(MetroTargets), 'https://adwords.google.com/api/adwords/v10', 'MetroTargets');
  RemClassRegistry.RegisterXSClass(circles, 'https://adwords.google.com/api/adwords/v10', 'circles');
  RemClassRegistry.RegisterXSInfo(TypeInfo(regions), 'http://www.w3.org/2001/XMLSchema', 'regions');
  RemClassRegistry.RegisterXSInfo(TypeInfo(RegionTargets), 'https://adwords.google.com/api/adwords/v10', 'RegionTargets');
  RemClassRegistry.RegisterXSClass(GeoTarget, 'https://adwords.google.com/api/adwords/v10', 'GeoTarget');
  RemClassRegistry.RegisterXSInfo(TypeInfo(languages), 'http://www.w3.org/2001/XMLSchema', 'languages');
  RemClassRegistry.RegisterXSInfo(TypeInfo(LanguageTarget), 'https://adwords.google.com/api/adwords/v10', 'LanguageTarget');
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_ApiError), 'https://adwords.google.com/api/adwords/v10', 'Array_Of_ApiError');
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(Array_Of_ApiError), [xoInlineArrays]);
  RemClassRegistry.RegisterXSClass(ApiException, 'https://adwords.google.com/api/adwords/v10', 'ApiException');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(ApiException), 'message_', 'message');
  RemClassRegistry.RegisterXSClass(fault, 'https://adwords.google.com/api/adwords/v10', 'fault');
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_string), 'http://www.w3.org/2001/XMLSchema', 'Array_Of_string');
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_Ad), 'https://adwords.google.com/api/adwords/v10', 'Array_Of_Ad');
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(Array_Of_Ad), [xoInlineArrays]);
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_long), 'http://www.w3.org/2001/XMLSchema', 'Array_Of_long');
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(Array_Of_long), [xoInlineArrays]);
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_Business), 'https://adwords.google.com/api/adwords/v10', 'Array_Of_Business');
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(Array_Of_Business), [xoInlineArrays]);
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_int), 'http://www.w3.org/2001/XMLSchema', 'Array_Of_int');
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(Array_Of_int), [xoInlineArrays]);
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_StatsRecord), 'https://adwords.google.com/api/adwords/v10', 'Array_Of_StatsRecord');
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(Array_Of_StatsRecord), [xoInlineArrays]);
  RemClassRegistry.RegisterXSInfo(TypeInfo(Array_Of_Video), 'https://adwords.google.com/api/adwords/v10', 'Array_Of_Video');
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(Array_Of_Video), [xoInlineArrays]);

end.


More information about the Delphi mailing list