Привет всем!

Мне очень надо знать, как генерится ID в закладках. ID-шник и Name закладки пишутся в функции nsBookmarksService::WriteBookmarkIdAndName(nsIRDFDataSource *aDs, nsIOutputStream* aStrm, nsIRDFResource* aChild), где сам ID получается из aChild->GetValueConst(&id); функция GetValueConst имеет следующее тело:

NS_IMETHODIMP
nsRDFResource::GetValueConst(const char** aURI)
{
    *aURI = mURI.get();
    return NS_OK;
}

mURI объявлен как nsCString, но поиски объявления самого nsCString ни к чему не привели. Файл nsString имеет строки
  // declare nsCString, et. al.
#include "string-template-def-char.h"
#include "nsTString.h"
#include "string-template-undef.h"
но первого и третьего файлов нет вообще нигде (в том числе, и в #include-путях, хотя всё компилится), а во втором nsCString уже используется как тип.

string-template-def-char.h
string-template-undef.h

Гугл рулит.

Добавлено:
Файл nsEmbedString.h декларирует «typedef nsCString nsEmbedCString»;

Действительно... :-) Спасибо. Я просто подумал, что если эти файлы включаются, то должны быть на моей машине.

Вообще-то да, должны быть :) Не знаю как у вас компилилось, может быть этот инклуд обходится через #ifdef?