I’m thinking of creating an application that can use Firefox as a download manager. Is there any way to control Firefox (add downloads, start/stop downloads, etc) from an external program in C/C++?
If that is not possible, then perhaps an extension that can do that? If an extension is the only way, then how do I communicate with the extension from outside of Firefox?
You’re starting with a solution, not a problem. The easier idea is to use XulRunner, the platform on which FireFox is built. You’d effectively implement your own application as a XulRunner plugin and use Necko (the network layer of XulRunner and FireFox) from there.