Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Alchemy Viewer
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Deploy
Releases
Package registry
Operate
Terraform modules
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Silent mode is enabled
All outbound communications are blocked.
Learn more
.
Show more breadcrumbs
Alchemy Viewer
Alchemy Viewer
Commits
d1d39c1d
Commit
d1d39c1d
authored
8 years ago
by
Andrey Lihatskiy
Browse files
Options
Downloads
Plain Diff
Merged in rider_linden/viewer-lynx (pull request
#26
)
parents
1adfaa08
a3c4d1cd
No related branches found
No related tags found
No related merge requests found
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
indra/llmessage/llassetstorage.h
+4
-0
4 additions, 0 deletions
indra/llmessage/llassetstorage.h
indra/newview/llcompilequeue.cpp
+511
-397
511 additions, 397 deletions
indra/newview/llcompilequeue.cpp
indra/newview/llcompilequeue.h
+30
-47
30 additions, 47 deletions
indra/newview/llcompilequeue.h
with
545 additions
and
444 deletions
indra/llmessage/llassetstorage.h
+
4
−
0
View file @
d1d39c1d
...
...
@@ -181,6 +181,10 @@ class LLEstateAssetRequest : public LLBaseDownloadRequest
// Map of known bad assets
typedef
std
::
map
<
LLUUID
,
U64
,
lluuid_less
>
toxic_asset_map_t
;
// *TODO: these typedefs are passed into the VFS via a legacy C function pointer
// future project would be to convert these to C++ callables (std::function<>) so that
// we can use bind and remove the userData parameter.
//
typedef
void
(
*
LLGetAssetCallback
)(
LLVFS
*
vfs
,
const
LLUUID
&
asset_id
,
LLAssetType
::
EType
asset_type
,
void
*
user_data
,
S32
status
,
LLExtStat
ext_status
);
...
...
This diff is collapsed.
Click to expand it.
indra/newview/llcompilequeue.cpp
+
511
−
397
View file @
d1d39c1d
This diff is collapsed.
Click to expand it.
indra/newview/llcompilequeue.h
+
30
−
47
View file @
d1d39c1d
...
...
@@ -37,6 +37,8 @@
#include
"llviewerinventory.h"
#include
"llevents.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Class LLFloaterScriptQueue
//
...
...
@@ -48,7 +50,7 @@
// scripts manipulated.
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class
LLFloaterScriptQueue
:
public
LLFloater
,
public
LLVOInventoryListener
class
LLFloaterScriptQueue
:
public
LLFloater
/*
, public LLVOInventoryListener
*/
{
public:
LLFloaterScriptQueue
(
const
LLSD
&
key
);
...
...
@@ -64,29 +66,18 @@ class LLFloaterScriptQueue : public LLFloater, public LLVOInventoryListener
// start() returns TRUE if the queue has started, otherwise FALSE.
BOOL
start
();
protected
:
// This is the callback method for the viewer object currently
// being worked on.
/*virtual*/
void
inventoryChanged
(
LLViewerObject
*
obj
,
LLInventoryObject
::
object_list_t
*
inv
,
S32
serial_num
,
void
*
queue
);
// This is called by inventoryChanged
virtual
void
handleInventory
(
LLViewerObject
*
viewer_obj
,
LLInventoryObject
::
object_list_t
*
inv
)
=
0
;
void
addProcessingMessage
(
const
std
::
string
&
message
,
const
LLSD
&
args
);
void
addStringMessage
(
const
std
::
string
&
message
);
std
::
string
getStartString
()
const
{
return
mStartString
;
}
protected
:
static
void
onCloseBtn
(
void
*
user_data
);
// returns true if this is done
BOOL
isDone
()
const
;
virtual
BOOL
startQueue
();
// go to the next object. If no objects left, it falls out
// silently and waits to be killed by the deleteIfDone() callback.
BOOL
nextObject
();
BOOL
popNext
();
virtual
bool
startQueue
()
=
0
;
void
setStartString
(
const
std
::
string
&
s
)
{
mStartString
=
s
;
}
...
...
@@ -96,12 +87,16 @@ class LLFloaterScriptQueue : public LLFloater, public LLVOInventoryListener
LLButton
*
mCloseBtn
;
// Object Queue
std
::
vector
<
LLUUID
>
mObjectIDs
;
uuid_list_t
mObjectIDs
;
LLUUID
mCurrentObjectID
;
bool
mDone
;
std
::
string
mStartString
;
bool
mMono
;
typedef
boost
::
function
<
bool
(
const
LLPointer
<
LLViewerObject
>
&
,
LLInventoryObject
*
,
LLEventPump
&
)
>
fnQueueAction_t
;
static
void
objectScriptProcessingQueueCoro
(
std
::
string
action
,
LLHandle
<
LLFloaterScriptQueue
>
hfloater
,
uuid_list_t
objectList
,
fnQueueAction_t
func
);
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
...
@@ -122,8 +117,6 @@ class LLFloaterCompileQueue : public LLFloaterScriptQueue
{
friend
class
LLFloaterReg
;
public:
// remove any object in mScriptScripts with the matching uuid.
void
removeItemByItemID
(
const
LLUUID
&
item_id
);
void
experienceIdsReceived
(
const
LLSD
&
content
);
BOOL
hasExperience
(
const
LLUUID
&
id
)
const
;
...
...
@@ -132,27 +125,17 @@ class LLFloaterCompileQueue : public LLFloaterScriptQueue
LLFloaterCompileQueue
(
const
LLSD
&
key
);
virtual
~
LLFloaterCompileQueue
();
// This is called by inventoryChanged
virtual
void
handleInventory
(
LLViewerObject
*
viewer_obj
,
LLInventoryObject
::
object_list_t
*
inv
);
static
void
requestAsset
(
struct
LLScriptQueueData
*
datap
,
const
LLSD
&
experience
);
virtual
bool
startQueue
();
static
bool
processScript
(
LLHandle
<
LLFloaterCompileQueue
>
hfloater
,
const
LLPointer
<
LLViewerObject
>
&
object
,
LLInventoryObject
*
inventory
,
LLEventPump
&
pump
);
static
void
finishLSLUpload
(
LLUUID
itemId
,
LLUUID
taskId
,
LLUUID
newAssetId
,
LLSD
response
,
std
::
string
scriptName
,
LLUUID
queueId
);
// This is the callback for when each script arrives
static
void
scriptArrived
(
LLVFS
*
vfs
,
const
LLUUID
&
asset_id
,
LLAssetType
::
EType
type
,
void
*
user_data
,
S32
status
,
LLExtStat
ext_status
);
virtual
BOOL
startQueue
();
protected:
LLViewerInventoryItem
::
item_array_t
mCurrentScripts
;
//bool checkAssetId(const LLUUID &assetId);
static
void
handleHTTPResponse
(
std
::
string
pumpName
,
const
LLSD
&
expresult
);
static
void
handleScriptRetrieval
(
LLVFS
*
vfs
,
const
LLUUID
&
assetId
,
LLAssetType
::
EType
type
,
void
*
userData
,
S32
status
,
LLExtStat
extStatus
);
private:
static
void
processExperienceIdResults
(
LLSD
result
,
LLUUID
parent
);
//uuid_list_t mAssetIds; // list of asset IDs processed.
uuid_list_t
mExperienceIds
;
};
...
...
@@ -169,9 +152,9 @@ class LLFloaterResetQueue : public LLFloaterScriptQueue
LLFloaterResetQueue
(
const
LLSD
&
key
);
virtual
~
LLFloaterResetQueue
();
// This is called by inventoryChanged
virtual
void
handleInventory
(
LLViewerObject
*
viewer_obj
,
LLInventoryObject
::
object_list_t
*
inv
);
static
bool
resetObjectScripts
(
LLHandle
<
LLFloaterScriptQueue
>
hfloater
,
const
LLPointer
<
LLViewerObject
>
&
object
,
LLInventoryObject
*
inventory
,
LLEventPump
&
pump
);
virtual
bool
startQueue
(
);
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
...
@@ -186,10 +169,10 @@ class LLFloaterRunQueue : public LLFloaterScriptQueue
protected:
LLFloaterRunQueue
(
const
LLSD
&
key
);
virtual
~
LLFloaterRunQueue
();
// This is called by inventoryChanged
virtual
void
handleInventory
(
LLViewerObject
*
viewer_obj
,
LLInventoryObject
::
object_list_t
*
inv
);
static
bool
runObjectScripts
(
LLHandle
<
LLFloaterScriptQueue
>
hfloater
,
const
LLPointer
<
LLViewerObject
>
&
object
,
LLInventoryObject
*
inventory
,
LLEventPump
&
pump
);
virtual
bool
startQueue
(
);
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
...
@@ -205,9 +188,9 @@ class LLFloaterNotRunQueue : public LLFloaterScriptQueue
LLFloaterNotRunQueue
(
const
LLSD
&
key
);
virtual
~
LLFloaterNotRunQueue
();
// This is called by inventoryChanged
virtual
void
handleInventory
(
LLViewerObject
*
viewer_obj
,
LLInventoryObject
::
object_list_t
*
inv
);
static
bool
stopObjectScripts
(
LLHandle
<
LLFloaterScriptQueue
>
hfloater
,
const
LLPointer
<
LLViewerObject
>
&
object
,
LLInventoryObject
*
inventory
,
LLEventPump
&
pump
);
virtual
bool
startQueue
(
);
};
#endif // LL_LLCOMPILEQUEUE_H
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment