* New directory tests/src/as with port of java test client
* New build target "abclib" to create a library of the test classes specified
in etc/asc_files.txt
* New target to compile TestClientMain.as against testslib.abc and another to
run it.
(This proposes the naming convention of *Main.as for "main" thane code and
main-*.abc for the compiled code)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5058 542714f4-19e9-0310-aa3c-eee0fc999fb1
clean action script files with no unnecessary imports
* New class ImportSet to facilitate the operations being performed manually
throughout the code. Also removes the need for rawimports
* Threaded ImportSet through all places where imports and rawimports were used
and removed magic parameters to control import generation
* Added an ImportSet instance to ServiceListener, this was key to the action
script fixes
* Moved all the import tweaking and munging logic into the generate* methods
and made specific to code being generated (removed overreaching stuff
from ServiceMethod, this was part of the problem)
* Removed blanket imports from tmpl files
* Removed unused methods
* Fixed tabs from last commit
* Quick and dirty script to check for unused imports
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5041 542714f4-19e9-0310-aa3c-eee0fc999fb1
* Keep an Invoker member
* Added internal Launcher class to run ProcessBuilder.start on the invoker
thread because it is blocking
* Removed synchronized from methods, all ooo-servers are single threaded,
hurray!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5033 542714f4-19e9-0310-aa3c-eee0fc999fb1
* Added RegistryTester smoke test which randomly creates and destroys agents
in batches
* Fixed bug where correct agent id was never making it to client
* Implemented Bureau.toString (+refactored summarize method)
* Fixed nasty bug due to my assumption that SafeSubscriber =~ Subscriber, they
are in fact completely different
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5032 542714f4-19e9-0310-aa3c-eee0fc999fb1
* Fleshed out client-side Agent class, made abstract
* Delegate the creation of the bureau director to subclasses of BureauClient
* Moved BureauDirector's BureauReceiver and Subscriber implementations to
anonymous classes that delegate to protected methods.
* Use SafeSubscriber
* Added new service method for notiyfing the server when the creation of an
agent fails so that the registry is not perpetually waiting
* Made BureauCredentials more conformant
* Made BureauRegistry respond properly to client logging off
* Got rid of superfluous uses of safeToString
* Changed Launcher to CommandGenerator and now use ProcessBuilder and
copyMergedOutput
* Changed bureau process parameters to server name and port instead of URL
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5030 542714f4-19e9-0310-aa3c-eee0fc999fb1
notion of a global group (though we implicitly define one in InvocationCodes)
added a mechanism for directors (which generally handle the client side of
invocation services) to register their interest in bootstrap service groups so
that the whole goddamned complex business can happen magically behind the
scenes.
If you instantiate a director, it will automatically register interest in the
service group it needs and everything will work. If you don't use the director
code, you don't get the services and you can safely exclude all of that code
from your client even though the services are still in use on the server (and
presumably used by some other types of clients).
This is going to break all the builds, which I'll soon fix. Then I'll go write
all this in ActionScript. Yay!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4552 542714f4-19e9-0310-aa3c-eee0fc999fb1
unmarshalled into an ArrayList on the receiver. Along the way, I improved
support for generic types as arguments to invocation services (which required
one unfortunate "sweeping" warning suppression, but since this is in generated
code, I think we can be sure it won't be doing anything untoward).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4375 542714f4-19e9-0310-aa3c-eee0fc999fb1
distributed objects by reflection since we don't allow clients to create
objects, furthermore we needn't do it asynchronously. The object creation
methods were moved into the server-side only interface and made "immediate", so
the caller creates a derived instance of DObject and registers it with the
system instead of creating it with a Subscriber callback.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4342 542714f4-19e9-0310-aa3c-eee0fc999fb1
inner bits are all clear and ready to try logging on to a new server. We
specifically wait to call clientLogonFailed() until after everything is
cleared, but I don't want to change the behavior of clientDidLogoff() for fear
that any one of the zillion directors depends on something being around during
that call.
Instead I added another callback clientDidClear() that is called when a
successful session is fulled cleared out (basically when we're not calling
clientLogonFailed()) so that entities that are waiting for a logoff to finish
so that they can logon somewhere else have a clean way of doing so.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4255 542714f4-19e9-0310-aa3c-eee0fc999fb1
Pecos. I'll sort out the per-project niggling bits in just a moment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4209 542714f4-19e9-0310-aa3c-eee0fc999fb1
and our RootPaneContainer might be different things (the Window would naturally
contain the RootPaneContainer but wouldn't necessarily be the same component).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4181 542714f4-19e9-0310-aa3c-eee0fc999fb1
on multiple ports, falling back from one to the next as appropriate.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4158 542714f4-19e9-0310-aa3c-eee0fc999fb1
Changed things around a bit to have the cheesy JabberChat run out of the box:
* ChatDirector no longer freaks out when given null message bundles/managers.
* MiCasa's ChatPanel is marked with a TODO item to stop passing in null
messagebundles and messagemanagers to ChatDirector.
* JabberApp and JabberClient have been adjusted to allow the user to specify
which chatroom to join from the command line; I plan to implement this using
BootstrapData when time permits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3741 542714f4-19e9-0310-aa3c-eee0fc999fb1
interface is provided that does that in a pluggable manner.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3720 542714f4-19e9-0310-aa3c-eee0fc999fb1
moment, but OpenAL has the necessary business to later integrate "streams"
of audio (music).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3669 542714f4-19e9-0310-aa3c-eee0fc999fb1
LineSegmentPath now orients sprites along the path (and even handles an
arbitrary notion of "forward" for the sprite).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3620 542714f4-19e9-0310-aa3c-eee0fc999fb1
arbitrarily oriented sprites. They currently have to "point" toward (1, 0,
0) as that is the direction that will be aligned with the velocity.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3619 542714f4-19e9-0310-aa3c-eee0fc999fb1
in obscurity. Fixed a couple of out of date bits in the process.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3615 542714f4-19e9-0310-aa3c-eee0fc999fb1
server. It looks like I'm going to have to write my own user interface
toolkit for JME as nothing exists for any Java-based GL library or engine
and precious few toolkits exist in C++. Yay!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3519 542714f4-19e9-0310-aa3c-eee0fc999fb1