Back to index

courier  0.68.2
cdrcptinfo.h
Go to the documentation of this file.
00001 /*
00002 ** Copyright 1998 - 2007 Double Precision, Inc.
00003 ** See COPYING for distribution information.
00004 */
00005 
00006 #ifndef       cdrcptinfo_h
00007 #define       cdrcptinfo_h
00008 
00009 #if    HAVE_CONFIG_H
00010 #undef PACKAGE
00011 #undef VERSION
00012 #include      "config.h"
00013 #endif
00014 
00015 #include      <string>
00016 #include      <vector>
00017 #include      <list>
00018 
00019 class delinfo;
00020 class drvinfo;
00021 class msgq;
00022 class pendelinfo;
00023 
00024 class rcptinfo {
00025 public:
00026     msgq      *msg;  // This is the message these receipients are part of
00027     drvinfo   *delmodule;   // Use this module
00028     pendelinfo  *pending;   // Not NULL if we're not delivering these
00029                             // recipients yet.
00030     std::list<rcptinfo *>::iterator
00031            pendingpos;             // My position in pendelinfo
00032 
00033     std::string envsender;  // Envelope sender rewritten to transport
00034                             // format.
00035     std::string delhost;    // Deliver to this address on the host
00036     std::vector<std::string> addresses;    // Deliver to these addresses
00037     std::vector<unsigned>  addressesidx; // Indexes of addresses in control file
00038 
00039     rcptinfo();
00040     ~rcptinfo();
00041 
00042     void init(msgq *newq, drvinfo *module, std::string host,
00043              std::string address);
00044     void init_1rcpt(msgq *newq, drvinfo *module,
00045                   std::string host, std::string address,
00046                   std::string recipient);
00047 } ;
00048 
00049 #endif