本文整理汇总了C++中ACE_Auto_Ptr::get方法的典型用法代码示例。如果您正苦于以下问题:C++ ACE_Auto_Ptr::get方法的具体用法?C++ ACE_Auto_Ptr::get怎么用?C++ ACE_Auto_Ptr::get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ACE_Auto_Ptr
的用法示例。
在下文中一共展示了ACE_Auto_Ptr::get方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sig
int
HTTP_Server::init (int argc, ACE_TCHAR *argv[])
// Document this function
{
// Ignore signals generated when a connection is broken unexpectedly.
ACE_Sig_Action sig ((ACE_SignalHandler) SIG_IGN, SIGPIPE);
ACE_UNUSED_ARG (sig);
// Parse arguments which sets the initial state.
this->parse_args (argc, argv);
//If the IO strategy is synchronous (SYNCH case), then choose a handler
//factory based on the desired caching scheme
HTTP_Handler_Factory *f = 0;
if (this->strategy_ != (JAWS::JAWS_POOL | JAWS::JAWS_ASYNCH))
{
if (this->caching_)
{
ACE_NEW_RETURN (f, Synch_HTTP_Handler_Factory (), -1);
}
else
{
ACE_NEW_RETURN (f, No_Cache_Synch_HTTP_Handler_Factory (), -1);
}
}
//NOTE: At this point f better not be a NULL pointer,
//so please do not change the ACE_NEW_RETURN macros unless
//you know what you are doing
ACE_Auto_Ptr<HTTP_Handler_Factory> factory (f);
// Choose what concurrency strategy to run.
switch (this->strategy_)
{
case (JAWS::JAWS_POOL | JAWS::JAWS_ASYNCH) :
return this->asynch_thread_pool ();
case (JAWS::JAWS_PER_REQUEST | JAWS::JAWS_SYNCH) :
return this->thread_per_request (*factory.get ());
case (JAWS::JAWS_POOL | JAWS::JAWS_SYNCH) :
default:
return this->synch_thread_pool (*factory.get ());
}
ACE_NOTREACHED (return 0);
}
示例2: guard
int OpenDDS::DCPS::ThreadPerConnectionSendTask::add_request(SendStrategyOpType op,
TransportQueueElement* element)
{
DBG_ENTRY("ThreadPerConnectionSendTask","add");
ACE_Auto_Ptr<SendRequest> req (new SendRequest);
req->op_ = op;
req->element_ = element;
int result = -1;
{ // guard scope
GuardType guard(this->lock_);
if (this->shutdown_initiated_)
return -1;
result = this->queue_.put (req.get());
if (result == 0)
{
this->work_available_.signal();
req.release ();
}
else
ACE_ERROR((LM_ERROR, "(%P|%t)ERROR: ThreadPerConnectionSendTask::add %p\n", "put"));
}
return result;
}
示例3: pcd_handler
bool
STD_PC_Intf::prepare_PC (const char *file)
{
DANCE_TRACE("STD_PC_Intf::prepare_PC");
ACE_Auto_Ptr<XML_Helper> helper (new XML_Helper);
if (!helper->is_initialized ())
return false;
// parse the .pcd (PackageConfigurationDescription) file
xercesc::DOMDocument *dom =
helper->create_dom (file);
if (!dom)
return false;
PackageConfiguration pc =
packageConfiguration (dom);
Deployment::PackageConfiguration idl_pc;
STD_PCD_Handler pcd_handler (helper.get ());
pcd_handler.package_config (pc,
idl_pc);
Deployment::PackageConfiguration *p_idl_pc =
new Deployment::PackageConfiguration (idl_pc);
// let ACE_Auto_Ptr take over
this->idl_pc_.reset (p_idl_pc);
if (this->idl_pc_.get ())
return true;
return false;
}
示例4: dummy
int
ACE_Service_Gestalt::initialize (const ACE_Service_Type_Factory *stf,
const ACE_TCHAR *parameters)
{
ACE_TRACE ("ACE_Service_Gestalt::initialize");
#ifndef ACE_NLOGGING
if (ACE::debug ())
ACELIB_DEBUG ((LM_DEBUG,
ACE_TEXT ("ACE (%P|%t) SG::initialize - repo=%@, name=%s")
ACE_TEXT (" - looking up in the repo\n"),
this->repo_,
stf->name ()));
#endif
ACE_Service_Type *srp = 0;
int const retv = this->repo_->find (stf->name (),
(const ACE_Service_Type **) &srp);
// If there is an active service already, remove it first
// before it can be re-installed.
if (retv >= 0)
{
#ifndef ACE_NLOGGING
if (ACE::debug ())
ACELIB_DEBUG ((LM_WARNING,
ACE_TEXT ("ACE (%P|%t) SG::initialize - repo=%@,")
ACE_TEXT (" name=%s - removing a pre-existing namesake.\n"),
this->repo_,
stf->name ()));
#endif
this->repo_->remove (stf->name ());
}
// If there is an inactive service by that name it may have been
// either inactivated, or just a forward declaration for a service,
// that is in the process of being initialized. If it is the latter,
// then we have detected an attempt to initialize the same dynamic
// service while still processing previous attempt. This can lock up
// the process, because the ACE_DLL_Manager::open () is not
// re-entrant - it uses a Singleton lock to serialize concurent
// invocations. This use case must be handled here, because if the
// DLL_Manager was re-entrant we would have entered an infinite
// recursion here.
if (retv == -2 && srp->type () == 0)
ACELIB_ERROR_RETURN ((LM_WARNING,
ACE_TEXT ("ACE (%P|%t) SG::initialize - repo=%@,")
ACE_TEXT (" name=%s - forward-declared; ")
ACE_TEXT (" recursive initialization requests are")
ACE_TEXT (" ignored.\n"),
this->repo_,
stf->name ()),
-1);
// Reserve a spot for the dynamic service by inserting an incomplete
// service declaration, i.e. one that can not produce a service
// object if asked (a forward declaration). This declaration
// ensures maintaining the proper partial ordering of the services
// with respect to their finalization. For example, dependent static
// services must be registered *after* the dynamic service that
// loads them, so that their finalization is complete *before*
// finalizing the dynamic service.
ACE_Service_Type_Dynamic_Guard dummy (*this->repo_,
stf->name ());
// make_service_type() is doing the dynamic loading and also runs
// any static initializers
ACE_Auto_Ptr<ACE_Service_Type> tmp (stf->make_service_type (this));
if (tmp.get () != 0 &&
this->initialize_i (tmp.get (), parameters) == 0)
{
// All good. Tthe ACE_Service_Type instance is now owned by the
// repository and we should make sure it is not destroyed upon
// exit from this method.
tmp.release ();
return 0;
}
return -1;
}
示例5: defined
int
ACE_TMAIN (int argc, ACE_TCHAR *argv [])
{
ACE_Auto_Ptr<std::ofstream> fout;
std::ostream* sout = &std::cout;
if (!parse_args (argc, argv))
{
return 1;
}
#if defined (ACE_HAS_SSL) && ACE_HAS_SSL == 1
ACE::HTTPS::Context::set_default_ssl_mode (ssl_mode);
ACE::HTTPS::Context::set_default_verify_mode (verify_peer);
ACE::HTTPS::Context::instance ().use_default_ca ();
if (!private_key.empty ())
{
if (certificate.empty ())
{
std::cerr << "ERROR: private key file [" << private_key << "] requires certificate file to be specified." << std::endl;
return 1;
}
if (!ACE::HTTPS::Context::instance ().set_key_files (private_key.c_str (), certificate.c_str ()))
{
std::cerr << "ERROR: failed to set private key [" << private_key << "]." << std::endl;
return 1;
}
}
if (!ca_location.empty ())
{
INET_DEBUG (6, (LM_INFO, DLINFO ACE_TEXT ("loading trusted CA [%C]\n"), ca_location.c_str ()));
if (!ACE::HTTPS::Context::instance ().load_trusted_ca (ca_location.c_str ()))
{
std::cerr << "ERROR: failed to load trusted CA from [" << ca_location << "]." << std::endl;
return 1;
}
INET_DEBUG (6, (LM_INFO, DLINFO ACE_TEXT ("loaded [%d] trusted CA\n"), ACE::HTTPS::Context::instance ().has_trusted_ca ()));
}
if (ignore_verify)
ACE::INet::SSL_CallbackManager::instance ()->set_certificate_callback (new ACE::INet::SSL_CertificateAcceptor);
#endif
std::cout << "Starting..." << std::endl;
if (!url.empty ())
{
if (!outfile.empty ())
{
fout.reset (new std::ofstream (outfile.c_str (), std::ios_base::binary|std::ios_base::out));
if (!*fout)
{
std::cerr << "Failed to open output file : " << outfile.c_str () << std::endl;
return 1;
}
sout = fout.get ();
}
std::cout << "Parsing url [" << url.c_str () << "]" << std::endl;
ACE_Auto_Ptr<ACE::INet::URL_Base> url_safe (ACE::INet::URL_Base::create_from_string (url));
if (url_safe.get () == 0 || url != url_safe->to_string ())
{
std::cerr << "Failed parsing url [" << url << "]" << std::endl;
std::cerr << "\tresult = " << (url_safe.get () == 0 ? "(null)" : url_safe->to_string ().c_str ()) << std::endl;
return 1;
}
ACE::HTTP::URL& http_url = *dynamic_cast<ACE::HTTP::URL*> (url_safe.get ());
if (!proxy_hostname.empty ())
{
std::cout << "Setting proxy: " << proxy_hostname.c_str () << ':' << proxy_port << std::endl;
http_url.set_proxy (proxy_hostname, proxy_port);
}
std::cout << "Opening url...";
My_HTTP_RequestHandler my_rh;
ACE::INet::URLStream urlin = http_url.open (my_rh);
if (urlin)
{
std::cout << "Received response "
<< (int)my_rh.response ().get_status ().get_status ()
<< " "
<< my_rh.response ().get_status ().get_reason ().c_str ()
<< std::endl;
if (my_rh.response ().get_status ().is_ok ())
{
std::cout << "Length: ";
if (my_rh.response ().get_content_length () != ACE::HTTP::Response::UNKNOWN_CONTENT_LENGTH)
std::cout << my_rh.response ().get_content_length () << " [";
else
std::cout << "(unknown) [";
if (my_rh.response ().get_content_type () != ACE::HTTP::Response::UNKNOWN_CONTENT_TYPE)
std::cout << my_rh.response ().get_content_type ().c_str ();
else
std::cout << "(unknown)";
std::cout << "]" << std::endl;
//.........这里部分代码省略.........
示例6: usage
int
ACE_TMAIN (int argc, ACE_TCHAR *argv [])
{
ACE_Auto_Ptr<std::ofstream> fout;
std::ostream* sout = &std::cout;
if (!parse_args (argc, argv))
{
return 1;
}
ACE::INet::URL_INetAuthBase::add_authenticator ("my_auth",
new My_Authenticator);
std::cout << "Starting..." << std::endl;
if (!url.empty ())
{
if (!outfile.empty ())
{
fout.reset (new std::ofstream (outfile.c_str (), std::ios_base::binary|std::ios_base::out));
if (!*fout)
{
std::cerr << "Failed to open output file : " << outfile.c_str () << std::endl;
return 1;
}
sout = fout.get ();
}
ACE::FTP::URL ftp_url;
std::cout << "Parsing url [" << url.c_str () << "]" << std::endl;
if (!ftp_url.parse (url))
{
std::cerr << "Failed parsing url [" << url << "]" << std::endl;
std::cerr << "\tresult = " << ftp_url.to_string ().c_str ();
return 1;
}
std::cout << "Opening url..." << std::endl;
My_FTP_RequestHandler my_rh;
if (do_active) my_rh.use_active_mode ();
ACE::INet::URLStream urlin = ftp_url.open (my_rh);
if (urlin)
{
std::cout << "Saving to: ";
if (!outfile.empty ())
std::cout << '\'' << outfile.c_str () << '\'' << std::endl;
else
std::cout << "(stdout)" << std::endl;
(*sout) << urlin->rdbuf ();
sout->flush ();
}
}
else
{
std::cerr << "ERROR: No URL specified!" << std::endl;
usage ();
return 1;
}
std::cout << "Done" << std::endl;
return 0;
}