本文整理汇总了C++中nsCOMPtr::GetAttributes方法的典型用法代码示例。如果您正苦于以下问题:C++ nsCOMPtr::GetAttributes方法的具体用法?C++ nsCOMPtr::GetAttributes怎么用?C++ nsCOMPtr::GetAttributes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nsCOMPtr
的用法示例。
在下文中一共展示了nsCOMPtr::GetAttributes方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DoSearch
nsresult nsAbQueryLDAPMessageListener::DoSearch()
{
nsresult rv;
mCanceled = mFinished = PR_FALSE;
mSearchOperation = do_CreateInstance(NS_LDAPOPERATION_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIProxyObjectManager> proxyMgr =
do_GetService(NS_XPCOMPROXY_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsILDAPMessageListener> proxyListener;
rv = proxyMgr->GetProxyForObject( NS_UI_THREAD_EVENTQ, NS_GET_IID(nsILDAPMessageListener),
this, PROXY_SYNC | PROXY_ALWAYS, getter_AddRefs(proxyListener));
NS_ENSURE_SUCCESS(rv, rv);
rv = mSearchOperation->Init (mConnection, proxyListener, nsnull);
NS_ENSURE_SUCCESS(rv, rv);
nsCAutoString dn;
rv = mUrl->GetDn (dn);
NS_ENSURE_SUCCESS(rv, rv);
PRInt32 scope;
rv = mUrl->GetScope (&scope);
NS_ENSURE_SUCCESS(rv, rv);
nsCAutoString filter;
rv = mUrl->GetFilter (filter);
NS_ENSURE_SUCCESS(rv, rv);
CharPtrArrayGuard attributes;
rv = mUrl->GetAttributes (attributes.GetSizeAddr (), attributes.GetArrayAddr ());
NS_ENSURE_SUCCESS(rv, rv);
// I don't _think_ it's ever actually possible to get here without having
// an nsAbLDAPDirectory object, but, just in case, I'll do a QI instead
// of just static casts...
nsCOMPtr<nsIAbLDAPDirectory> nsIAbDir =
do_QueryInterface(mDirectoryQuery, &rv);
NS_ENSURE_SUCCESS(rv, rv);
nsAbLDAPDirectory *dir =
NS_STATIC_CAST(nsAbLDAPDirectory *,
NS_STATIC_CAST(nsIAbLDAPDirectory *, nsIAbDir.get()));
rv = mSearchOperation->SetServerControls(dir->mSearchServerControls.get());
NS_ENSURE_SUCCESS(rv, rv);
rv = mSearchOperation->SetClientControls(dir->mSearchClientControls.get());
NS_ENSURE_SUCCESS(rv, rv);
rv = mSearchOperation->SearchExt (dn, scope, filter,
attributes.GetSize (), attributes.GetArray (),
mTimeOut, mResultLimit);
return rv;
}
示例2: DoTask
nsresult nsAbQueryLDAPMessageListener::DoTask() {
nsresult rv;
mCanceled = mFinished = false;
mOperation = do_CreateInstance(NS_LDAPOPERATION_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv, rv);
rv = mOperation->Init(mConnection, this, nullptr);
NS_ENSURE_SUCCESS(rv, rv);
mOperation->SetRequestNum(++sCurrentRequestNum);
nsAutoCString dn;
rv = mSearchUrl->GetDn(dn);
NS_ENSURE_SUCCESS(rv, rv);
int32_t scope;
rv = mSearchUrl->GetScope(&scope);
NS_ENSURE_SUCCESS(rv, rv);
nsAutoCString filter;
rv = mSearchUrl->GetFilter(filter);
NS_ENSURE_SUCCESS(rv, rv);
nsAutoCString attributes;
rv = mSearchUrl->GetAttributes(attributes);
NS_ENSURE_SUCCESS(rv, rv);
rv = mOperation->SetServerControls(mServerSearchControls);
NS_ENSURE_SUCCESS(rv, rv);
rv = mOperation->SetClientControls(mClientSearchControls);
NS_ENSURE_SUCCESS(rv, rv);
return mOperation->SearchExt(dn, scope, filter, attributes, mTimeOut,
mResultLimit);
}
示例3: takeActionOnNode
nsresult JNICALL EmbedEventListener::takeActionOnNode(nsCOMPtr<nsIDOMNode> currentNode,
void *myObject)
{
nsresult rv = NS_OK;
nsString nodeInfo, nodeName, nodeValue; //, nodeDepth;
jstring jNodeName, jNodeValue;
PRUint32 depth = 0;
EmbedEventListener *curThis = nsnull;
//const PRUint32 depthStrLen = 20;
// char depthStr[depthStrLen];
JNIEnv *env = (JNIEnv *) JNU_GetEnv(gVm, JNI_VERSION);
PR_ASSERT(nsnull != myObject);
curThis = (EmbedEventListener *) myObject;
depth = curThis->mInverseDepth++;
if (!(curThis->mProperties)) {
return rv;
}
// encode the depth of the node
// PR_snprintf(depthStr, depthStrLen, "depthFromLeaf:%d", depth);
// nodeDepth = (const char *) depthStr;
// Store the name and the value of this node
{
// get the name and prepend the depth
rv = currentNode->GetNodeName(nodeInfo);
if (NS_FAILED(rv)) {
return rv;
}
// nodeName = nodeDepth;
// nodeName += nodeInfo;
nodeName = nodeInfo;
if (prLogModuleInfo) {
char * nodeInfoCStr = ToNewCString(nodeName);
PR_LOG(prLogModuleInfo, 4, ("%s", nodeInfoCStr));
nsMemory::Free(nodeInfoCStr);
}
rv = currentNode->GetNodeValue(nodeInfo);
if (NS_FAILED(rv)) {
return rv;
}
// nodeValue = nodeDepth;
// nodeValue += nodeInfo;
nodeValue = nodeInfo;
if (prLogModuleInfo) {
char * nodeInfoCStr = ToNewCString(nodeName);
PR_LOG(prLogModuleInfo, 4, ("%s", (const char *)nodeInfoCStr));
nsMemory::Free(nodeInfoCStr);
}
jNodeName = ::util_NewString(env, nodeName.get(),
nodeName.Length());
jNodeValue = ::util_NewString(env, nodeValue.get(),
nodeValue.Length());
util_StoreIntoPropertiesObject(env, (jobject) curThis->mProperties,
(jobject) jNodeName,
(jobject) jNodeValue,
(jobject)
&(curThis->mOwner->GetWrapperFactory()->shareContext));
if (jNodeName) {
::util_DeleteString(env, jNodeName);
}
if (jNodeValue) {
::util_DeleteString(env, jNodeValue);
}
} // end of Storing the name and value of this node
// store any attributes of this node
{
nsCOMPtr<nsIDOMNamedNodeMap> nodeMap;
rv = currentNode->GetAttributes(getter_AddRefs(nodeMap));
if (NS_FAILED(rv) || !nodeMap) {
return rv;
}
PRUint32 length, i;
rv = nodeMap->GetLength(&length);
if (NS_FAILED(rv)) {
return rv;
}
for (i = 0; i < length; i++) {
rv = nodeMap->Item(i, getter_AddRefs(currentNode));
if (nsnull == currentNode) {
return rv;
}
rv = currentNode->GetNodeName(nodeInfo);
if (NS_FAILED(rv)) {
return rv;
}
// nodeName = nodeDepth;
// nodeName += nodeInfo;
nodeName = nodeInfo;
//.........这里部分代码省略.........