toolkit/profile/nsProfileStringTypes.h
author Mike Hommey <mh+mozilla@glandium.org>
Fri, 12 Jun 2015 08:26:01 +0900
changeset 250001 42077df6e5734b34aeaf2370bb6ffe8364925a6d
parent 198486 profile/dirserviceprovider/nsProfileStringTypes.h@803e2184d7b26a36d959f75a36ec252e347cb4c7
permissions -rw-r--r--
Bug 1173681 - Move nsProfileLock related files in toolkit/profile and remove profile/dirserviceprovider. r=bsmedberg

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/**
 * We support two builds of the directory service provider.
 * One, linked into the profile component, uses the internal
 * string API. The other can be used by standalone embedding
 * clients, and uses embed strings.
 * To keep the code clean, we are using typedefs to equate
 * embed/internal string types. We are also defining some
 * internal macros in terms of the embedding strings API.
 *
 * When modifying the profile directory service provider, be
 * sure to use methods supported by both the internal and
 * embed strings APIs.
 */

#ifndef MOZILLA_INTERNAL_API

#include "nsEmbedString.h"

typedef nsCString nsPromiseFlatCString;
typedef nsCString nsAutoCString;

#define PromiseFlatCString nsCString

#else
#include "nsString.h"
#include "nsPromiseFlatString.h"
#endif