/* 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/. */

#ifndef _nsGNOMEShellDBusHelper_h_
#define _nsGNOMEShellDBusHelper_h_

#include <gio/gio.h>
#include "nsINavHistoryService.h"

#define MAX_SEARCH_RESULTS_NUM 9
#define KEYWORD_SEARCH_STRING "special:search"
#define KEYWORD_SEARCH_STRING_LEN 14

class nsGNOMEShellHistorySearchResult;

void DBusHandleResultSet(RefPtr<nsGNOMEShellHistorySearchResult> aSearchResult,
                         GVariant* aParameters, bool aInitialSearch,
                         GDBusMethodInvocation* aReply);
void DBusHandleResultMetas(
    RefPtr<nsGNOMEShellHistorySearchResult> aSearchResult,
    GVariant* aParameters, GDBusMethodInvocation* aReply);
void DBusActivateResult(RefPtr<nsGNOMEShellHistorySearchResult> aSearchResult,
                        GVariant* aParameters, GDBusMethodInvocation* aReply);
void DBusLaunchSearch(RefPtr<nsGNOMEShellHistorySearchResult> aSearchResult,
                      GVariant* aParameters, GDBusMethodInvocation* aReply);
bool IsHistoryResultNodeURI(nsINavHistoryResultNode* aHistoryNode);

const char* GetDBusBusName();
const char* GetDBusObjectPath();

#endif  // _nsGNOMEShellDBusHelper_h_
