• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

LogAccessICP.h

Go to the documentation of this file.
00001 /** @file
00002 
00003   A brief file description
00004 
00005   @section license License
00006 
00007   Licensed to the Apache Software Foundation (ASF) under one
00008   or more contributor license agreements.  See the NOTICE file
00009   distributed with this work for additional information
00010   regarding copyright ownership.  The ASF licenses this file
00011   to you under the Apache License, Version 2.0 (the
00012   "License"); you may not use this file except in compliance
00013   with the License.  You may obtain a copy of the License at
00014 
00015       http://www.apache.org/licenses/LICENSE-2.0
00016 
00017   Unless required by applicable law or agreed to in writing, software
00018   distributed under the License is distributed on an "AS IS" BASIS,
00019   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00020   See the License for the specific language governing permissions and
00021   limitations under the License.
00022  */
00023 
00024 
00025 
00026 #ifndef LOG_ACCESS_ICP_H
00027 #define LOG_ACCESS_ICP_H
00028 
00029 #include "LogAccess.h"
00030 
00031 class ICPlog;
00032 
00033 /*-------------------------------------------------------------------------
00034   LogAccessICP
00035 
00036   This class extends the logging system interface as implemented by the
00037   ICPlog class.
00038   -------------------------------------------------------------------------*/
00039 
00040 class LogAccessICP:public LogAccess
00041 {
00042 public:
00043   LogAccessICP(ICPlog * icp_log);
00044   virtual ~ LogAccessICP();
00045 
00046   LogEntryType entry_type()
00047   {
00048     return LOG_ENTRY_ICP;
00049   }
00050 
00051   //
00052   // client -> proxy fields
00053   //
00054   virtual int marshal_client_host_ip(char *);   // STR
00055   virtual int marshal_client_host_port(char *); // INT
00056   virtual int marshal_client_auth_user_name(char *);    // STR
00057   virtual int marshal_client_req_text(char *);  // STR
00058   virtual int marshal_client_req_http_method(char *);   // INT
00059   virtual int marshal_client_req_url(char *);   // STR
00060   virtual int marshal_client_req_url_canon(char *);     // STR
00061 
00062   //
00063   // proxy -> client fields
00064   //
00065   virtual int marshal_proxy_resp_content_type(char *);  // STR
00066   virtual int marshal_proxy_resp_squid_len(char *);     // INT
00067   virtual int marshal_proxy_resp_content_len(char *);   // INT
00068   virtual int marshal_proxy_resp_status_code(char *);   // INT
00069   virtual int marshal_cache_result_code(char *);        // INT
00070 
00071   //
00072   // proxy -> server fields
00073   //
00074   virtual int marshal_proxy_hierarchy_route(char *);    // INT
00075 
00076   //
00077   // server -> proxy fields
00078   //
00079   virtual int marshal_server_host_name(char *); // STR
00080 
00081   //
00082   // other fields
00083   //
00084   virtual int marshal_transfer_time_ms(char *); // INT
00085   virtual int marshal_transfer_time_s(char *);  // INT
00086 
00087 private:
00088   ICPlog * m_icp_log;
00089 
00090   // -- member functions that are not allowed --
00091   LogAccessICP(const LogAccessICP & rhs);
00092   LogAccessICP & operator=(LogAccessICP & rhs);
00093 };
00094 
00095 #endif

Generated by  doxygen 1.7.1