You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: V. <fvi...@fr...> - 2004-05-27 15:58:52
|
Hi, I don't know if this list still work, but anyways... Running Zeta RC2, imkit build from april 30th loading symbols segment violation occurred IM::Server::MessageFromProtocols(BMessage *): MessageFromProtocols__Q22IM6ServerP8BMessage: +0aaf 8001a1ef: * 04508b movl 0x00000004(%eax), %edx im_server:sc frame retaddr fcffbd18 80014e31 IM::Server::Process(BMessage *) + 000000c5 fcffbd60 800138bb IM::Server::MessageReceived(BMessage *) + 0000021f fcffbdac ec17bbe6 BLooper::DispatchMessage(BMessage *, BHandler *) +=20 00000076 fcffbdc4 ec171d01 BApplication::DispatchMessage(BMessage *, BHandler=20 *) + 000007c5 fcffbfe8 ec17b6fa BLooper::task_looper(void) + 000002a6 fcffc288 ec16fc7d BApplication::Run(void) + 00000061 fcffc29c 80013026 IM::Server::Server(void) + 0000073a fcffc378 8002221d main + 000001cd fcffc56c 80010ff4 _start + 00000060 im_server: =20 -- Fran=E7ois Vincent www.bug-br.org.br Use BeShare! |
From: Francois V. <fvi...@fr...> - 2003-01-12 01:55:25
|
Hi, Is there anyone still developing the IM Kit=3F I'm not a developer, but i can help with anything else. We =5Freally=5F need a good IM on BeOS. :) Thanx, Fran=E7ois Vincent www.bug-br.org.br beshare.zurgs.net |
From: Linus A. <lin...@sm...> - 2002-07-08 12:33:41
|
Hi, Gabriel. Are you still around? Anyhow... I have done some coding on the kit the last few weeks. Now I come to a place where I don't know in what direction to move. There is a lot to fix, but I don't know where to start. This is what I got so far: - limited but functional im_server =09- no tracker integration, instead using a simple window for contacts. =09- add-on interface quite finnished. =09=09- Fake addon done, which only "bounce" the messages correctly. =09=09=09- If a contact is added, it starts to send messages. =09=09- The rest of the addons need to be coded... ICQ, SIM etc. =09- Functional logging system. =09- Some test applications. =09- Handles several clients connnected to the im_server at once, and =09 syncs the messages for each client, so they all get the same =09 "history". =09 - build system is functional but quite featureless. =09- handles make, make clean, make dist - Simple IMClient. =09- Just a testing environment at the moment. Very simple, and =09 not done in a correct manner. Mainly because the lack of a =09 complete system, that is preference system including Preference =09 app etc. =09- Needs to be started from the terminal because we have no preference =09 system. - functional libim.so =09- Simple interface for applications to talk to the im_server. =09- limited because the rest of the system is limited. - SIM suite. ;) =09- Simple Instant Messaging =09- Featureless functional Instant Messaging. =09- SIM Server =09=09- Functional for debug purposes. =09- SIMClient =09=09- Can either listen to messages for a certain user, or =09=09 just send message from a user to a contact. =09=09- Not usable really ATM. Just made for debugging purposes. =09 =09- SIM addon for im_server would be simple to do, but is yet not done. Code and binary can be downloaded here: http://kaktus.campus.luth.se/beosimkit.zip Regards /Procton PS: Building the system to actually test it you need to =09"make dist" in order to get a working system. The applications =09would otherwise look for libim.so and libsim.so, but "make dist" =09creates a dir based on PROTOCOL_NAME and VERSION and puts the =09binaries in correct places. |
From: Linus A. <lin...@sm...> - 2002-03-29 00:52:09
|
Hey, I have a created a very simple Instant Messenger. The server has the basic implemented, Register user and login, but adding new features are very easy, since the server communicates with flattened BMessages. Here is the package, but beware of sloppy code... Only code from a few hours work: http://kaktus.campus.luth.se/beimkit.zip Whenever I remember I will rename it to beosimkit. :) I will be going to my mothers place for a few days, so I will not do much coding. Regards /Procton |
From: Linus A. <lin...@sm...> - 2002-03-26 20:35:38
|
Hi, Changes to the Protocol Add-on: -------------- =09status_t GotMessage( const char *aId, const char *aMessage ); =09status_t SendMessage( const char *aId, const char *aMessage ); -------------- changed to: -------------- =09status_t ReceivedEvent( BIMEvent *aEvent ); =09status_t SendEvent( BIMEvent *aEvent )=3D0; -------------- Where BIMEvent is: -------------- class BIMEvent: public BMessage { =09protected: =09=09BIMEvent( uint32 aWhat ): BMessage(aWhat) {} =09=09~BIMEvent(); =09public: =09=09status_t SetTo( const char *aId ); =09=09status_t SetFrom( const char *aId ); =09=09status_t To( const char **aId ); =09=09status_t From( const char **aId ); }; -------------- For example: -------------- class BIMMessage: public BIMEvent { =09protected: =09=09BIMMessage( uint32 aWhat ): BEvent( aWhat ) {} =09public: =09=09BIMMessage():BEvent( B_IM_MESSAGE ) {} =09=09~BIMMessage(); =09=09status_t SetMessage( const char *aMessage ); =09=09status_t Message( const char **aMessage ); }; -------------- I have also added functions for errors and info in the Protocol Add-on: -------------- status_t ReceivedError( BIMError *aError ); status_t ReveivedInfo( BIMInfo *aInfo ); -------------- Both BIMError and BIMInfo works as BIMEvent, but perhaps BIMInfo is a bad name because I consider it to be mostly used for logging certain events= . This turned out to be a pretty long mail. Comments on the code? Regards /Procton PS: Below are the complete declaration of the classes. --------------------------------- IMProtocol.h --------------------------- #ifndef BIMPROTOCOL_H #define BIMPROTOCOL_H #include <OS.h> class BIMProtocol { =09public: =09=09BIMProtocol( const char *aName ); =09=09virtual ~BIMProtocol(); =09=09//void GotMessage( const char *aId, const char *aMessage ); =09=09void ReceivedEvent( BIMEvent *aEvent ); =09=09void ReceivedError( BIMError *aError ); =09=09void ReceivedInfo( BIMInfo *aInfo ); =09=09void LoggedIn(); =09=09void ContactAdded( const char *aId ); =09=09void ContactRemoved( const char *aId ); =09=09void AddReadSocket( int aSocket ); =09=09void AddWriteSocket( int aSocket ); =09=09void RemoveReadSocket( int aSocket ); =09=09void RemoveWriteSocket( int aSocket ); =09=09/* Functions that need to be implemented by derived classes. */ =09=09virtual void SetServer( const char *aHost, int32 aPort )=3D0; =09=09virtual void SetUser( const char *aUserId, const char *aPassword=3DNULL )=3D0; =09=09virtual void SetPassword(const char *aPassword)=3D0; =09=09virtual void Login()=3D0; =09=09virtual void ReadEvent( int aSocket )=3D0; =09=09virtual void WriteEvent( int aSocket )=3D0; =09=09virtual void SendEvent( BIMEvent *aEvent )=3D0; =09private: =09=09char *fName; }; typedef BIMProtocol *(*InstantiateProtocol)(); typedef const char *(*ShortDescr)(); typedef const char *(*LongDescr)(); /* =09Add-on functions. =09BIMProtocol *instantiate_protocol(); =09const char *short_description(); =09const char *long_description(); */ #endif ---------------------------------------- IMEvent.h ------------------------ #ifndef IMEVENT_H #define IMEVENT_H #include <Message.h> class BIMEvent: public BMessage { =09protected: =09=09BIMEvent( uint32 aWhat ): BMessage(aWhat) {} =09=09~BIMEvent(); =09public: =09=09status_t SetTo( const char *aId ); =09=09status_t SetFrom( const char *aId ); =09=09status_t To( const char **aId ); =09=09status_t From( const char **aId ); }; class BIMMessage: public BIMEvent { =09protected: =09=09BIMMessage( uint32 aWhat ): BEvent( aWhat ) {} =09public: =09=09BIMMessage():BEvent( B_IM_MESSAGE ) {} =09=09~BIMMessage(); =09=09status_t SetMessage( const char *aMessage ); =09=09status_t Message( const char **aMessage ); }; class BIMUrl: public BIMMessage { =09public: =09=09BIMUrl(): BIMMessage( B_IM_URL ) {} =09=09~BIMUrl(); =09=09status_t SetUrl( const char *aUrl ); =09=09status_t Url( const char **aUrl ); }; class BIMAuthRequest: public BIMEvent { =09public: =09=09BIMAuthRequest():BEvent( B_AUTH_REQUEST ) {} =09=09~BIMAuthRequest(); }; class BIMAuthResponce: public BIMEvent { =09public: =09=09BIMAuthResponce(): BEvent( B_AUTH_RESPONCE ) {} =09=09~BIMAuthResponce(); =09=09status_t SetConfirmed( bool aAllow ); =09=09status_t Confirmed( bool *aAllow ); }; #endif ------------------------------------- IMError.h --------------------------- #ifndef IMERROR_H #define IMERROR_H #include <Message.h> class BIMError: public BMessage { =09protected: =09=09BIMError( uint32 aWhat ): BMessage( aWhat ) {} =09public: =09=09/* Unspecified error */ =09=09BIMError(): BMessage( B_ERROR ) {} =09=09~BIMError(); =09=09status_t SetErrorMessage( const char *aMessage ); =09=09status_t ErrorMessage( const char **aMessage ); }; class BIMLoginError: public BIMError { =09public: =09=09BIMLoginError(): BIMError( B_IM_LOGIN_ERROR ) {} }; #endif |
From: Linus A. <lin...@sm...> - 2002-03-23 15:13:29
|
I have been thought some about how to store generic information( user info, contact info etc ). I start with some ugly code to give the general idea: /* Person class */ class Person: public BMessage { protected: =09Person( int32 aWhat );=09=09//More args are probably likely. public: =09status_t SetNick( const char *aNick ); }; /* User class */ class User: public Person { public: =09User(): Person( USER_INFO ) {} =09status_t SetPassword(); //Probably unecessary. }; /* Contact class */ class Contact: public Person { public: =09Contact(): Person( CONTACT_INFO ) {} }; This can be done with quite a lot of storage classes in the server. The nice part is that one can directly send the classes using a BMessenger without having to create or convert them into BMessages. The drawback is that BMessages will use more resources than if we use our own format for data storage, and then convert those classes into BMessages when needed. Thoughts? Regards /Procton |
From: Gabriel B. <ga...@co...> - 2002-03-21 20:31:28
|
I dislike C++ exceptions, personally. I've always used C-style setjmp/ longjmp stuff, but I doubt that will be appropriate. I'd lean towards simple return-types and just being *very* careful about checking all possible results. Still, if you think we should use exceptions, I will go with it fine... it'd probably cut down on some hard crashes =3D3D) I'll leave this up to you. Neiras -- Random tidbit: Uncle Ed's Rule of Thumb: Never use your thumb for a rule. You'll either hit it with a hammmer or get a splinter in it. |
From: Gabriel B. <ga...@co...> - 2002-03-21 19:44:32
|
> void BClass::SomeFunction( int32 aFoo ) { > int32 foo =3D aFoo; > } I tend to use the same prefix for parameters, but in implementation I put the return type on a separate line for readabliity, thus: void BClass::SomeFunction( int32 aFoo ) { ... } I find this to be more readable. More a matter of taste I guess. Neiras -- Random tidbit: A sense of humor keen enough to show a man his own absurdities will keep him from the commission of all sins, or nearly all, save those that are worth committing. -- Samuel Butler |
From: Linus A. <lin...@sm...> - 2002-03-21 18:28:07
|
Hey, I guess we have decided to use OpenTracker coding guidelines, to be compatible with openbeos, but I want to add a guideline to this that the OpenTracker guideline does not cover. Code example: class BClass { public: =09void SomeFunction( int32 aFoo ); private: =09int32 fFoo; }; void BClass::SomeFunction( int32 aFoo ) { =09int32 foo =3D aFoo; } I have gotten used to this style, to differ between arguments to functions and private variable in functions. 'a' does not necessarily be the prefix, though, but I would like us to use a similiar coding style. Comments? Regards /Procton |