Example #1
0
NS_IMETHODIMP nsImportService::GetModuleDescription(const char *filter, PRInt32 index, PRUnichar **_retval)
{
    NS_PRECONDITION(_retval != nsnull, "null ptr");
    if (!_retval)
        return NS_ERROR_NULL_POINTER;

  *_retval = nsnull;

    DoDiscover();
    if (!m_pModules)
    return NS_ERROR_FAILURE;

  if ((index < 0) || (index >= m_pModules->GetCount()))
    return NS_ERROR_FAILURE;

  ImportModuleDesc *  pDesc;
  PRInt32  count = 0;
  for (PRInt32 i = 0; i < m_pModules->GetCount(); i++) {
    pDesc = m_pModules->GetModuleDesc(i);
    if (pDesc->SupportsThings(filter)) {
      if (count == index) {
        *_retval = NS_strdup(pDesc->GetDescription());
        return NS_OK;
      }
      else
        count++;
    }
  }

  return NS_ERROR_FAILURE;
}
Example #2
0
NS_IMETHODIMP nsImportService::GetModuleWithCID(const nsCID& cid, nsIImportModule **ppModule)
{
  NS_PRECONDITION(ppModule != nsnull, "null ptr");
  if (!ppModule)
    return NS_ERROR_NULL_POINTER;

  *ppModule = nsnull;
  nsresult rv = DoDiscover();
  if (NS_FAILED(rv))
    return rv;
  if (m_pModules == nsnull)
    return NS_ERROR_FAILURE;
  PRInt32  cnt = m_pModules->GetCount();
  ImportModuleDesc *pDesc;
  for (PRInt32 i = 0; i < cnt; i++) {
    pDesc = m_pModules->GetModuleDesc(i);
    if (!pDesc)
      return NS_ERROR_FAILURE;
    if (pDesc->GetCID().Equals(cid)) {
      *ppModule = pDesc->GetModule();

      IMPORT_LOG0("* nsImportService::GetSpecificModule - attempted to load module\n");

      if (*ppModule == nsnull)
        return NS_ERROR_FAILURE;
      return NS_OK;
    }
  }

  IMPORT_LOG0("* nsImportService::GetSpecificModule - module not found\n");

  return NS_ERROR_NOT_AVAILABLE;
}
NS_IMETHODIMP nsImportService::GetModuleName(const char *filter, int32_t index, char16_t **_retval)
{
    NS_PRECONDITION(_retval != nullptr, "null ptr");
    if (!_retval)
        return NS_ERROR_NULL_POINTER;

  *_retval = nullptr;

    DoDiscover();
    if (!m_pModules)
    return NS_ERROR_FAILURE;

  if ((index < 0) || (index >= m_pModules->GetCount()))
    return NS_ERROR_FAILURE;

  ImportModuleDesc *  pDesc;
  int32_t  count = 0;
  for (int32_t i = 0; i < m_pModules->GetCount(); i++) {
    pDesc = m_pModules->GetModuleDesc(i);
    if (pDesc->SupportsThings(filter)) {
      if (count == index) {
        *_retval = NS_strdup(pDesc->GetName());
        return NS_OK;
      }
      else
        count++;
    }
  }

  return NS_ERROR_FAILURE;
}
NS_IMETHODIMP nsImportService::GetModuleInfo(const char *filter, int32_t index, char16_t **name, char16_t **moduleDescription)
{
    NS_PRECONDITION(name != nullptr, "null ptr");
    NS_PRECONDITION(moduleDescription != nullptr, "null ptr");
    if (!name || !moduleDescription)
        return NS_ERROR_NULL_POINTER;

  *name = nullptr;
  *moduleDescription = nullptr;

    DoDiscover();
    if (!m_pModules)
    return NS_ERROR_FAILURE;

  if ((index < 0) || (index >= m_pModules->GetCount()))
    return NS_ERROR_FAILURE;

  ImportModuleDesc *  pDesc;
  int32_t  count = 0;
  for (int32_t i = 0; i < m_pModules->GetCount(); i++) {
    pDesc = m_pModules->GetModuleDesc(i);
    if (pDesc->SupportsThings(filter)) {
      if (count == index) {
        *name = NS_strdup(pDesc->GetName());
        *moduleDescription = NS_strdup(pDesc->GetDescription());
        return NS_OK;
      }
      else
        count++;
    }
  }

  return NS_ERROR_FAILURE;
}
Example #5
0
NS_IMETHODIMP nsImportService::GetModuleCount(const char *filter, PRInt32 *_retval)
{
    NS_PRECONDITION(_retval != nsnull, "null ptr");
    if (! _retval)
        return NS_ERROR_NULL_POINTER;

  DoDiscover();

  if (m_pModules != nsnull) {
    ImportModuleDesc *  pDesc;
    PRInt32  count = 0;
    for (PRInt32 i = 0; i < m_pModules->GetCount(); i++) {
      pDesc = m_pModules->GetModuleDesc(i);
      if (pDesc->SupportsThings(filter))
        count++;
    }
    *_retval = count;
  }
  else
    *_retval = 0;

  return NS_OK;
}
Example #6
0
NS_IMETHODIMP nsImportService::DiscoverModules(void)
{
  m_didDiscovery = false;
  return DoDiscover();
}