IRC Log Viewer » #firebreath » 2011-06-28

IRC Nick Time (GMT-7) Message
imran 00:06 can i add some C++ code to firebreath if yes where do i insert it
Feeling 00:06 you can see pluginnameAPI class
and that should executed by plugin method.
imran 00:06 Feeling: i added some code but it did'nt work it seems i m missing some thing
Feeling 01:06 imra: i don't write english very well. anyways, you can put code in onPluginReady or StaticInitialize if you don't use javascript or something
did you make to MFC activex or ATL active or NPAPI Plugins?
and did you see video tutorial?
imran 01:06 actually its my start to firebreath i have seen video tutorials. Feeling no problem for english plz tell me that if i have to show a message box from my firebreath to a web page how can i do that
Feeling 01:06 probably, you can search past chat in
imran_ 05:06 hi guys which function fromJSAPISimple is used to register a function that contains only a messagebox command (C++ code)
any 1 there
taxilian 09:06 imran_: don't use JSAPISimple
FireBreathBot: tell imran don't use JSAPISimple. Open the code! Read things on the wiki! Search for "interacting with javascript". Your very question shows that you haven't read very much, because all the answers are tehre
FireBreathBot 09:06 taxilian: I'll pass that on when imran is around.
taxilian 09:06 FireBreathBot: tell imran_ don't use JSAPISimple. Open the code! Read things on the wiki! Search for "interacting with javascript". Your very question shows that you haven't read very much, because all the answers are tehre
FireBreathBot 09:06 taxilian: I'll pass that on when imran_ is around.
linearray 09:06 hey taxilian
taxilian 09:06 morning
linearray 09:06 we talked about abstractions couple of days ago
taxilian 09:06 I remember
linearray 09:06 today I realized: when putting objects in STL baseclass containers you lose dynamic binding.
taxilian 09:06 not sure I follow
linearray 09:06 case in point: I have a downloader class with derived classes for specific tasks
when I actually put them in a vector<downloader> only the base class part remains
taxilian 09:06 oh; just put them in a shared_ptr
linearray 09:06 ok, that's what I was thinking :)
taxilian 09:06 that way you're only passing around the ptr
you really don't want to copy objects more than you need to
I always create my objects wtih : boost::noncopyable
linearray 09:06 need to look into that
taxilian 09:06 which makes the copy constructors, etc private
so that they can't be implicitly copied
there is a really good book on C++ coding standards that covers a lot of that, I can find you the name if you'd like
linearray 09:06 is it called "C++ Coding Standards"? :)
by herb sutter
taxilian 09:06 and andrei alexandrescu
yeah, that's the one
read it?
linearray 09:06 no, but it's on the list
I finished Accelerated C++ today
taxilian 09:06 cool. Honestly, I really really really wish I'd read C++ Coding Standards before I started FireBreath
it would have saved a lot of refactoring
it's one of the most useful books I've ever read, I think
linearray 09:06 and this thing about base-class vectors was really surprising to me
taxilian 09:06 at least as far as C++ goes
well, it's not so much that it strips away the subclass bit
the problem is that it actually copies the object
linearray 09:06 because, coming from java, I still expected reference-semantics
taxilian 09:06 and since it doesn't know what the subclass was, it can't very well copy the subclass
linearray 09:06 yeah
taxilian 09:06 so if you put it in a boost::shared_ptr (like FireBreath uses everywhere) you basically get reference semantics
just keep in mind that unlike Java, it's not garbage collection, just reference counting, so beware circular references
linearray 09:06 from what I read on the internet you usually lose either memory management or "copyability", if you try to solve the problem with simple pointers
actually both :)
taxilian 09:06 yeah; you lose copyability in this case
linearray 09:06 shared_ptr takes care of deleting the object
taxilian 09:06 however, you probably don't *want* to copy it
linearray 09:06 indeed
taxilian 09:06 in fact, in my experience you usually don't
simple pointers would lose memory management as well, of course
with a shared_ptr you lose a little bit of efficiency (in that it uses slightly more memory, since it needs to allocate the refcount block) and add a little bit of complexity
use boost::make_shared to create the instances more efficiently
linearray 09:06 ok thx
neilg_ 09:06 Hey all
taxilian 10:06 morning neil
neilg_ 10:06 How're things with you?
taxilian 11:06 not bad
Skype 20:06 Hi, my FireBreath plugin works with Firefox 5 and IE9 BUT on Firefox 3.5.2 Firefox crashes AND on Firefox 3.6.13 Firefox wants to "Install Missing Plugins". Has anyone encountered this?
taxilian 20:06 sure haven't; what is the crash, though?
Skype 20:06 I actually don't know, when I first load the page FF just says Firefox has crashed, submit bug report to Mozilla... along those lines
However the same plugin I developed for IE works fine in FF5 without any changes. I couldn't get hold of FF4 to test though
taxilian 20:06 you might consider attaching a debugger so you can find out what the crash is
Skype 20:06 I shall do that
FireBreathBot 20:06 Commit 0dfdbd8 on master by Richard Bateman: "Added utils to convert from Json::Value <--> FB::variant"
FireBreathBot 20:06 Commit 7a88950 on master by Richard Bateman: "Moved fbjson.h to correct location"
alkisg 22:06 Hi there - I don't know about the firebreath project, but you have a very nice log viewer at
Does it also provide an index page, instead of only a search page?
taxilian 22:06 nope, but you're welcome to add one if you'd like ;-)
the code is open source
and very simple
(I didn't write it)
alkisg 22:06 Thank you, nah, that's what I'm looking for, not to write code in yet another project - I'm involved in too many already :)
taxilian 22:06 I understand the feeling
there is a log viewer that the 2600hz project uses that seems decentish
alkisg 22:06 Cuuuuuute!
Thanks again, digging into that...
taxilian 22:06 good luck