diff options
Diffstat (limited to 'indra/newview/lllandmarkactions.h')
-rw-r--r-- | indra/newview/lllandmarkactions.h | 264 |
1 files changed, 132 insertions, 132 deletions
diff --git a/indra/newview/lllandmarkactions.h b/indra/newview/lllandmarkactions.h index f8b1f554f7..285354fdb7 100644 --- a/indra/newview/lllandmarkactions.h +++ b/indra/newview/lllandmarkactions.h @@ -1,132 +1,132 @@ -/** - * @file lllandmarkactions.h - * @brief LLLandmark class declaration - * - * $LicenseInfo:firstyear=2000&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_LLLANDMARKACTIONS_H -#define LL_LLLANDMARKACTIONS_H - -#include "llinventorymodel.h" - -#include "lllandmarklist.h" - -class LLLandmark; - -/** - * @brief Provides helper functions to manage landmarks - */ -class LLLandmarkActions -{ -public: - typedef boost::function<void(std::string& slurl)> slurl_callback_t; - typedef boost::function<void(std::string& slurl, S32 x, S32 y, S32 z)> region_name_and_coords_callback_t; - - /** - * @brief Fetches landmark LLViewerInventoryItems for the given landmark name. - */ - static LLInventoryModel::item_array_t fetchLandmarksByName(std::string& name, bool if_use_substring); - /** - * @brief Checks whether landmark exists for current agent position. - */ - static bool landmarkAlreadyExists(); - - /** - * @brief Checks whether landmark exists for current agent parcel. - */ - static bool hasParcelLandmark(); - - /** - * @brief Searches landmark for global position. - * @return Returns landmark or NULL. - * - * *TODO: dzaporozhan: There can be many landmarks for single parcel. - */ - static LLViewerInventoryItem* findLandmarkForGlobalPos(const LLVector3d &pos); - - /** - * @brief Searches landmark for agent global position. - * @return Returns landmark or NULL. - * - * *TODO: dzaporozhan: There can be many landmarks for single parcel. - */ - static LLViewerInventoryItem* findLandmarkForAgentPos(); - - /** - * @brief Creates landmark for current parcel. - */ - static void createLandmarkHere(); - - /** - * @brief Creates landmark for current parcel. - */ - static void createLandmarkHere( - const std::string& name, - const std::string& desc, - const LLUUID& folder_id); - /** - * @brief Creates SLURL for given global position. - */ - static void getSLURLfromPosGlobal(const LLVector3d& global_pos, slurl_callback_t cb, bool escaped = true); - - static void getRegionNameAndCoordsFromPosGlobal(const LLVector3d& global_pos, region_name_and_coords_callback_t cb); - - /** - * @brief Gets landmark global position specified by inventory LLUUID. - * Found position is placed into "posGlobal" variable. - *. - * @return - true if specified item exists in Inventory and an appropriate landmark found. - * and its position is known, false otherwise. - */ - // *TODO: mantipov: profide callback for cases, when Landmark is not loaded yet. - static bool getLandmarkGlobalPos(const LLUUID& landmarkInventoryItemID, LLVector3d& posGlobal); - - /** - * @brief Retrieve a landmark from gLandmarkList by inventory item's id - * If a landmark is not currently in the gLandmarkList a callback "cb" is called when it is loaded. - * - * @return pointer to loaded landmark from gLandmarkList or NULL if landmark does not exist or wasn't loaded. - */ - static LLLandmark* getLandmark(const LLUUID& landmarkInventoryItemID, LLLandmarkList::loaded_callback_t cb = NULL); - - /** - * @brief Performs standard action of copying of SLURL from landmark to user's clipboard. - * This action requires additional server request. The user will be notified by info message, - * when URL is copied . - */ - static void copySLURLtoClipboard(const LLUUID& landmarkInventoryItemID); - -private: - LLLandmarkActions(); - LLLandmarkActions(const LLLandmarkActions&); - - static void onRegionResponseSLURL(slurl_callback_t cb, - const LLVector3d& global_pos, - bool escaped, - const std::string& url); - static void onRegionResponseNameAndCoords(region_name_and_coords_callback_t cb, - const LLVector3d& global_pos, - U64 region_handle); -}; - -#endif //LL_LLLANDMARKACTIONS_H +/**
+ * @file lllandmarkactions.h
+ * @brief LLLandmark class declaration
+ *
+ * $LicenseInfo:firstyear=2000&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_LLLANDMARKACTIONS_H
+#define LL_LLLANDMARKACTIONS_H
+
+#include "llinventorymodel.h"
+
+#include "lllandmarklist.h"
+
+class LLLandmark;
+
+/**
+ * @brief Provides helper functions to manage landmarks
+ */
+class LLLandmarkActions
+{
+public:
+ typedef boost::function<void(std::string& slurl)> slurl_callback_t;
+ typedef boost::function<void(std::string& slurl, S32 x, S32 y, S32 z)> region_name_and_coords_callback_t;
+
+ /**
+ * @brief Fetches landmark LLViewerInventoryItems for the given landmark name.
+ */
+ static LLInventoryModel::item_array_t fetchLandmarksByName(std::string& name, bool if_use_substring);
+ /**
+ * @brief Checks whether landmark exists for current agent position.
+ */
+ static bool landmarkAlreadyExists();
+
+ /**
+ * @brief Checks whether landmark exists for current agent parcel.
+ */
+ static bool hasParcelLandmark();
+
+ /**
+ * @brief Searches landmark for global position.
+ * @return Returns landmark or NULL.
+ *
+ * *TODO: dzaporozhan: There can be many landmarks for single parcel.
+ */
+ static LLViewerInventoryItem* findLandmarkForGlobalPos(const LLVector3d &pos);
+
+ /**
+ * @brief Searches landmark for agent global position.
+ * @return Returns landmark or NULL.
+ *
+ * *TODO: dzaporozhan: There can be many landmarks for single parcel.
+ */
+ static LLViewerInventoryItem* findLandmarkForAgentPos();
+
+ /**
+ * @brief Creates landmark for current parcel.
+ */
+ static void createLandmarkHere();
+
+ /**
+ * @brief Creates landmark for current parcel.
+ */
+ static void createLandmarkHere(
+ const std::string& name,
+ const std::string& desc,
+ const LLUUID& folder_id);
+ /**
+ * @brief Creates SLURL for given global position.
+ */
+ static void getSLURLfromPosGlobal(const LLVector3d& global_pos, slurl_callback_t cb, bool escaped = true);
+
+ static void getRegionNameAndCoordsFromPosGlobal(const LLVector3d& global_pos, region_name_and_coords_callback_t cb);
+
+ /**
+ * @brief Gets landmark global position specified by inventory LLUUID.
+ * Found position is placed into "posGlobal" variable.
+ *.
+ * @return - true if specified item exists in Inventory and an appropriate landmark found.
+ * and its position is known, false otherwise.
+ */
+ // *TODO: mantipov: profide callback for cases, when Landmark is not loaded yet.
+ static bool getLandmarkGlobalPos(const LLUUID& landmarkInventoryItemID, LLVector3d& posGlobal);
+
+ /**
+ * @brief Retrieve a landmark from gLandmarkList by inventory item's id
+ * If a landmark is not currently in the gLandmarkList a callback "cb" is called when it is loaded.
+ *
+ * @return pointer to loaded landmark from gLandmarkList or NULL if landmark does not exist or wasn't loaded.
+ */
+ static LLLandmark* getLandmark(const LLUUID& landmarkInventoryItemID, LLLandmarkList::loaded_callback_t cb = NULL);
+
+ /**
+ * @brief Performs standard action of copying of SLURL from landmark to user's clipboard.
+ * This action requires additional server request. The user will be notified by info message,
+ * when URL is copied .
+ */
+ static void copySLURLtoClipboard(const LLUUID& landmarkInventoryItemID);
+
+private:
+ LLLandmarkActions();
+ LLLandmarkActions(const LLLandmarkActions&);
+
+ static void onRegionResponseSLURL(slurl_callback_t cb,
+ const LLVector3d& global_pos,
+ bool escaped,
+ const std::string& url);
+ static void onRegionResponseNameAndCoords(region_name_and_coords_callback_t cb,
+ const LLVector3d& global_pos,
+ U64 region_handle);
+};
+
+#endif //LL_LLLANDMARKACTIONS_H
|