blob: 95cd87b01b15cb8667e57bc5bb51a71f06bc3760 [file] [log] [blame]
vsevik@chromium.org3788fea2011-07-19 13:02:19 +00001/*
bburg@apple.com2129b392018-04-21 01:12:44 +00002 * Copyright (C) 2014-2018 Apple Inc. All rights reserved.
3 * Copyright (C) 2011 Google Inc. All rights reserved.
vsevik@chromium.org3788fea2011-07-19 13:02:19 +00004 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 *
mjs@apple.com92047332014-03-15 04:08:27 +000014 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
vsevik@chromium.org3788fea2011-07-19 13:02:19 +000015 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
mjs@apple.com92047332014-03-15 04:08:27 +000017 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
vsevik@chromium.org3788fea2011-07-19 13:02:19 +000018 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26
27#include "config.h"
joepeck@webkit.org1f45df92014-02-06 23:45:53 +000028#include "IdentifiersFactory.h"
vsevik@chromium.org7eda8252011-07-19 16:38:33 +000029
joepeck@webkit.org1f45df92014-02-06 23:45:53 +000030namespace Inspector {
vsevik@chromium.org3788fea2011-07-19 13:02:19 +000031
32namespace {
33static long s_lastUsedIdentifier = 0;
34}
35
bburg@apple.com2129b392018-04-21 01:12:44 +000036static String addPrefixToIdentifier(const String& identifier)
37{
38 return makeString("0.", identifier);
39}
vsevik@chromium.org3788fea2011-07-19 13:02:19 +000040
vsevik@chromium.org3788fea2011-07-19 13:02:19 +000041String IdentifiersFactory::createIdentifier()
42{
bburg@apple.com2129b392018-04-21 01:12:44 +000043 return addPrefixToIdentifier(String::number(++s_lastUsedIdentifier));
vsevik@chromium.org7eda8252011-07-19 16:38:33 +000044}
45
vsevik@chromium.org986d3d02011-08-12 11:44:55 +000046String IdentifiersFactory::requestId(unsigned long identifier)
vsevik@chromium.org7eda8252011-07-19 16:38:33 +000047{
mkwst@chromium.orgd4c34b02012-10-30 16:49:31 +000048 if (identifier)
bburg@apple.com2129b392018-04-21 01:12:44 +000049 return addPrefixToIdentifier(String::number(identifier));
mkwst@chromium.orgd4c34b02012-10-30 16:49:31 +000050 return String();
vsevik@chromium.org7eda8252011-07-19 16:38:33 +000051}
52
joepeck@webkit.org1f45df92014-02-06 23:45:53 +000053} // namespace Inspector