bp::object WBEMConnection::openEnumerateInstanceNames( const bp::object &cls, const bp::object &ns, const bp::object &query_lang, const bp::object &query, const bp::object &operation_timeout, const bp::object &continue_on_error, const bp::object &max_object_cnt) try { String c_cls(StringConv::asString(cls, "ClassName")); String c_ns(m_default_namespace); if (!isnone(ns)) c_ns = StringConv::asString(ns, "namespace"); Pegasus::CIMName peg_cls(c_cls); Pegasus::CIMNamespaceName peg_ns(c_ns); String c_query_lang; String c_query; if (!isnone(query_lang)) c_query_lang = StringConv::asString(query_lang); if (!isnone(query)) c_query = StringConv::asString(query); Pegasus::Boolean peg_continue_on_error = Conv::as<Pegasus::Boolean>( continue_on_error, "ContinueOnError"); Pegasus::Uint32 peg_max_object_cnt = Conv::as<Pegasus::Uint32>( max_object_cnt, "MaxObjectCount"); Pegasus::Uint32Arg peg_operation_timeout; if (!isnone(operation_timeout)) { peg_operation_timeout.setValue(Conv::as<Pegasus::Uint32>( operation_timeout, "OperationTimeout")); } Pegasus::Array<Pegasus::CIMObjectPath> peg_instance_names; boost::shared_ptr<Pegasus::CIMEnumerationContext> ctx_ptr( make_enumeration_ctx()); Pegasus::Boolean peg_end_of_sequence; ScopedTransactionBegin(); peg_instance_names = client()->openEnumerateInstancePaths( *ctx_ptr, peg_end_of_sequence, peg_ns, peg_cls, c_query_lang, c_query, peg_operation_timeout, peg_continue_on_error, peg_max_object_cnt); ScopedTransactionEnd(); return bp::make_tuple( ListConv::asPyCIMInstanceNameList(peg_instance_names), CIMEnumerationContext::create(ctx_ptr), bp::object(peg_end_of_sequence)); } catch (...) { std::stringstream ss; if (Config::isVerbose()) { ss << "OpenEnumerateInstanceNames("; if (Config::isVerboseMore()) { String c_ns(m_default_namespace); if (!isnone(ns)) c_ns = StringConv::asString(ns); ss << "classname=u" << StringConv::asString(cls) << ", " << "namespace=u" << c_ns; } ss << ')'; } handle_all_exceptions(ss); return None; }
bp::object WBEMConnection::openEnumerateInstances( const bp::object &cls, const bp::object &ns, const bp::object &deep_inheritance, const bp::object &include_class_origin, const bp::object &property_list, const bp::object &query_lang, const bp::object &query, const bp::object &operation_timeout, const bp::object &continue_on_error, const bp::object &max_object_cnt) try { Pegasus::CIMName peg_cls(StringConv::asPegasusString(cls, "ClassName")); Pegasus::CIMNamespaceName peg_ns(m_default_namespace.c_str()); if (!isnone(ns)) peg_ns = StringConv::asPegasusString(ns, "namespace"); Pegasus::String peg_query_lang; Pegasus::String peg_query; if (!isnone(query_lang)) peg_query_lang = StringConv::asPegasusString(query_lang); if (!isnone(query)) peg_query = StringConv::asPegasusString(query); Pegasus::Boolean peg_deep_inheritance = Conv::as<Pegasus::Boolean>( deep_inheritance, "DeepInheritance"); Pegasus::Boolean peg_include_class_origin = Conv::as<Pegasus::Boolean>( include_class_origin, "IncludeClassOrigin"); Pegasus::Boolean peg_continue_on_error = Conv::as<Pegasus::Boolean>( continue_on_error, "ContinueOnError"); Pegasus::CIMPropertyList peg_property_list( ListConv::asPegasusPropertyList(property_list, "PropertyList")); Pegasus::Uint32Arg peg_operation_timeout; Pegasus::Uint32 peg_max_object_cnt = Conv::as<Pegasus::Uint32>( max_object_cnt, "MaxObjectCount"); if (!isnone(operation_timeout)) { peg_operation_timeout.setValue(Conv::as<Pegasus::Uint32>( operation_timeout, "OperationTimeout")); } boost::shared_ptr<Pegasus::CIMEnumerationContext> ctx_ptr( make_enumeration_ctx()); Pegasus::Array<Pegasus::CIMInstance> peg_instances; Pegasus::Boolean peg_end_of_sequence; ScopedTransactionBegin(); peg_instances = m_client.openEnumerateInstances( *ctx_ptr, peg_end_of_sequence, peg_ns, peg_cls, peg_deep_inheritance, peg_include_class_origin, peg_property_list, peg_query_lang, peg_query, peg_operation_timeout, peg_continue_on_error, peg_max_object_cnt); ScopedTransactionEnd(); return bp::make_tuple( ListConv::asPyCIMInstanceList(peg_instances), CIMEnumerationContext::create(ctx_ptr), bp::object(peg_end_of_sequence)); } catch (...) { std::stringstream ss; if (Config::isVerbose()) { ss << "OpenEnumerateInstances("; if (Config::isVerboseMore()) { std::string std_ns(m_default_namespace); if (!isnone(ns)) std_ns = StringConv::asStdString(ns); ss << "classname=" << StringConv::asStdString(cls) << ", " << "namespace=" << std_ns; } ss << ')'; } handle_all_exceptions(ss); return None; }