×

Discussion Board

Results 1 to 11 of 11
  1. #1
    Registered User
    Join Date
    Feb 2008
    Posts
    17

    looking to rent a coder - a simple sms sending code...

    I am looking for a symbian c++ coder who wants to make a quick buck, by writing a simple script.
    i need a script that will send a few sms messages via sockets as soon as it's called trough the main application UI.
    (they are used to coordinate with other phones running the application, so they are just nuisances and need to be sent in the background).
    also, i need instructions on how to implement it into my app.
    I am offering a 20$ transfer via Paypal to the coder who would help me.
    coders interested in the job are welcome to replay to this post \ private message me.

    P/S -
    Moderators, i dont know if it's customary and allowed to offer coding jobs in this forum.
    if not - im sorry, please delete \ lock the post.
    Last edited by kururu; 2008-02-24 at 14:22.

  2. #2
    Nokia Developer Champion
    Join Date
    Apr 2003
    Location
    USA, CA
    Posts
    7,192

    Re: looking to rent a coder - a simple sms sending code...

    Moved to News, Announcements, Jobs and Chats

    Hartti

  3. #3
    Regular Contributor
    Join Date
    May 2004
    Location
    Bangalore, India
    Posts
    118

    Re: looking to rent a coder - a simple sms sending code...

    Hi Kururu,

    Not sure why you need a script to send SMS. If you just want to send a SMS to certain destination, you can do it with the available APIs. I am sure there must be lot of sample code on forums...

    Anyway I can include my source here which I use....Hope fully it shud help you out. You might need to remove some compilation erros.

    #ifndef __SMSSENDER_H__
    #define __SMSSENDER_H__

    // INCLUDES
    #include <e32base.h>
    #include <es_sock.h>
    #include <f32file.h>
    #include <smsuaddr.h>
    #include <smsustrm.h>
    #include <Gsmumsg.h>
    #include <msvstd.h>
    #include <msvapi.h>
    #include <mtclreg.h>
    #include <SMSCLNT.h>
    #include <SMUTSET.h>


    // FORWARD DECLARATIONS
    class ServiceCenterAddress;


    // CLASS DECLARATION
    class SmsSender: public CActive
    {
    public: // Constructors and destructors
    /**
    * NewL.
    * Two-phased constructor.
    * Creates a SmsSender object using two phase construction,
    * and returns a pointer to the created object.
    */
    static SmsSender* NewL(RSocketServ iSocketServer, RFs iFs);
    /**
    * NewLC.
    * Two-phased constructor.
    * Creates a SmsSender object using two phase construction,
    * and returns a pointer to the created object.
    */
    static SmsSender* NewLC(RSocketServ iSocketServer, RFs iFs);
    /**
    * ~SmsSender.
    * Destructor.
    * Destroys the object and release all memory objects.
    */
    ~SmsSender();

    public: // New functions
    void Open();
    bool SendL(const char* aAddress, const char* aData);
    protected: // Functions from base classes
    /**
    * From CActive, DoCancel.
    * Cancels any outstanding operation.
    */
    void DoCancel();

    /**
    * From CActive, RunL.
    * Called when operation completes.
    */
    void RunL();

    private: // Constructors and destructors
    /**
    * SmsSender.
    * C++ default constructor.
    * Performs the first phase of two phase construction.
    */
    SmsSender(RSocketServ iSocketServer, RFs iFs);
    /**
    * ConstructL.
    * 2nd phase constructor.
    */
    void ConstructL();

    public: // Member Variable
    void* mUserData;
    char iServiceCenterAddress[20];
    ServiceCenterAddress *serviceCenterAddress;

    private: // Member Variable
    RSocket mRSocket;
    RSocketServ mRSocketServer;
    RFs mRFs;
    CSmsMessage* mSmsMsg;
    TPckgBuf<TUint> mOctlResult;
    TInt mMessageCount;

    };

    // CLASS DECLARATION
    class ServiceCenterAddress: public CActive, public MMsvSessionObserver
    {
    public:
    ServiceCenterAddress();
    void RunL();
    void DoCancel();

    void GetServiceCenterAddress(char * pServiceCenterAddress);
    void HandleSessionEventL(TMsvSessionEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3);
    CMsvSession* iSession;
    CBaseMtm* iMtm;
    CMsvOperation* iOperation;
    CClientMtmRegistry* iMtmRegistry;

    TBuf<20> iServiceCenterAddress;
    };

    #endif // __SMSSENDER_H__

    // End of File



    The .cpp I am including in the following post.
    Dushyant Gaur
    Sling Media,
    Bangalore
    cell:+91 9342276086
    email: dushyantg@slingmedia.com

  4. #4
    Regular Contributor
    Join Date
    May 2004
    Location
    Bangalore, India
    Posts
    118

    Re: looking to rent a coder - a simple sms sending code...

    ////////.CPP file////////////////////////////////////////


    // INCLUDE FILES


    #include <gsmubuf.h>
    #include <gsmuset.h>
    #include <stdio.h>
    #include <SMSCLNT.h>
    #include <SMUTHDR.h>
    #include <string.h>

    _LIT(KServiceCenterNumber, "+12063130004");


    // -----------------------------------------------------------------------------
    // SmsSender::SmsSender()
    // C++ default constructor can NOT contain any code, that might leave.
    // -----------------------------------------------------------------------------
    //
    SmsSender::SmsSender(RSocketServ iSocketServer, RFs iFs)
    :CActive(CActive::EPriorityLow)
    {

    mRSocketServer = iSocketServer;
    mRFs = iFs;
    memset(iServiceCenterAddress, 0, sizeof(iServiceCenterAddress));
    }

    // -----------------------------------------------------------------------------
    // SmsSender::NewL()
    // Two-phased constructor.
    // -----------------------------------------------------------------------------
    //
    SmsSender* SmsSender::NewL(RSocketServ iSocketServer, RFs iFs)
    {
    SmsSender* self = SmsSender::NewLC(iSocketServer, iFs);
    CleanupStack::Pop(self);
    return self;
    }

    // -----------------------------------------------------------------------------
    // SmsSender::NewLC()
    // Two-phased constructor.
    // -----------------------------------------------------------------------------
    //
    SmsSender* SmsSender::NewLC(RSocketServ iSocketServer, RFs iFs)
    {
    SmsSender* self = new (ELeave) SmsSender(iSocketServer, iFs);
    if (self == NULL)
    {
    //KN_LOG ((KN_P2T_MAJOR,"KN_P2T_Smssender :: NewLC ERROR Unable to allocate memory for SmsSender"));
    }
    CleanupStack::PushL(self);
    self->ConstructL();
    return self;
    }

    // -----------------------------------------------------------------------------
    // SmsSender::ConstructL()
    // Symbian 2nd phase constructor can leave.
    // -----------------------------------------------------------------------------
    //
    void SmsSender::ConstructL()
    {
    CActiveScheduler::Add(this);
    User::LeaveIfError(mRSocketServer.Connect());
    User::LeaveIfError(mRFs.Connect());

    serviceCenterAddress = new ServiceCenterAddress;
    memset(iServiceCenterAddress,sizeof(iServiceCenterAddress),'\0');
    }

    // -----------------------------------------------------------------------------
    // SmsSender::Open()
    // Open a socket connection
    // -----------------------------------------------------------------------------
    //
    void SmsSender::Open()
    {
    // Open a socket
    User::LeaveIfError(mRSocket.Open(mRSocketServer, KSMSAddrFamily, KSockDatagram, KSMSDatagramProtocol));

    // Bind to SMS port
    TSmsAddr smsAddr;
    smsAddr.SetSmsAddrFamily(ESmsAddrSendOnly);
    mRSocket.Bind(smsAddr);
    }

    // -----------------------------------------------------------------------------
    // SmsSender::SendL()
    // Create and Send SMS
    // -----------------------------------------------------------------------------
    //
    KN_BOOL SmsSender::SendL(const char* aAddress, const char* aData, const char* smscAddress)
    {

    if (IsActive())
    {
    Cancel(); // Cancels any outstanding request
    }

    TBuf<20> desAddress;
    TBuf8<20> tempAddress;
    desAddress.FillZ();
    tempAddress.FillZ();
    tempAddress.Copy((TUint8*)aAddress);

    desAddress.Copy(tempAddress);
    //TBuf<165> msg;
    TBuf8<165> tempMsg;
    //msg.FillZ();
    tempMsg.FillZ();

    tempMsg.Copy((TUint8*)aData);

    //msg.Copy(tempMsg);

    // Create the SMS message
    CSmsBuffer* smsBuffer = CSmsBuffer::NewL();
    mSmsMsg = CSmsMessage::NewL(mRFs, CSmsPDU::ESmsSubmit, smsBuffer);

    TSmsUserDataSettings smsSettings;
    // smsSettings.SetAlphabet(TSmsDataCodingScheme::ESmsAlphabet8Bit);
    smsSettings.SetTextCompressed(EFalse);

    mSmsMsg->SetUserDataSettingsL(smsSettings);

    mSmsMsg->SetToFromAddressL(desAddress);



    TBuf<20> address;
    TBuf8<20> buf8;
    address.FillZ();
    buf8.FillZ();
    if(smscAddress == NULL)
    {
    //non-smsc bypass case; only first PDU going out needs to get the service centre address
    if(strlen(iServiceCenterAddress)==0)
    serviceCenterAddress->GetServiceCenterAddress(iServiceCenterAddress);

    buf8.Copy((TUint8*)iServiceCenterAddress);
    }
    else
    {
    //smsc bypass case
    buf8.Copy((TUint8*)smscAddress);
    }
    address.Copy(buf8);

    mSmsMsg->SmsPDU().SetServiceCenterAddressL(address);

    // Insert our SMS pattern header so that our receiver is able to detect
    // the incoming message, and then append the data.

    // Change for thin call message - vchirag : 28th Sept., 2006
    //smsBuffer->InsertL(0, msg);
    mSmsMsg->SmsPDU().UserData().SetBodyL(tempMsg);

    // Open a write stream on the socket and stream our message.
    RSmsSocketWriteStream writeStream(mRSocket);
    writeStream << *(mSmsMsg);

    // message has not been sent at this point
    writeStream.CommitL();

    // Send the message
    mRSocket.Ioctl(KIoctlSendSmsMessage, iStatus, &mOctlResult, KSolSmsProv);
    SetActive();
    //delete smsBuffer;
    if(mSmsMsg)
    {
    delete mSmsMsg;
    mSmsMsg = NULL;
    }
    #endif
    return KN_TRUE;
    }

    // -----------------------------------------------------------------------------
    // SmsSender::RunL()
    // RunL
    // -----------------------------------------------------------------------------
    //
    void SmsSender::RunL()
    {

    }

    // -----------------------------------------------------------------------------
    // SmsSender:oCancel()
    // Cancels any outstanding operation.
    // -----------------------------------------------------------------------------
    //
    void SmsSender:oCancel()
    {
    }


    // -----------------------------------------------------------------------------
    // SmsSender::~SmsSender()
    // Destructor.
    // -----------------------------------------------------------------------------
    //
    SmsSender::~SmsSender()
    {
    Cancel();

    if (serviceCenterAddress != NULL)
    {
    /* Cancel first */
    serviceCenterAddress->Cancel();
    delete serviceCenterAddress;
    serviceCenterAddress = NULL;
    }
    mRSocket.Close();
    }





    ServiceCenterAddress::ServiceCenterAddress():CActive(CActive::EPriorityLow)
    {
    CActiveScheduler::Add(this);
    iServiceCenterAddress.FillZ();
    }



    void ServiceCenterAddress::GetServiceCenterAddress(char * pServiceCenterAddress)
    {
    iSession = CMsvSession::OpenSyncL(*this);

    iMtmRegistry = CClientMtmRegistry::NewL(*iSession);
    iMtm = iMtmRegistry->NewMtmL(KUidMsgTypeSMS);
    ASSERT(iMtm);
    if (iMtm)
    {
    // To handle the sms specifics we start using SmsMtm

    CSmsClientMtm* smsMtm = static_cast<CSmsClientMtm*>(iMtm);

    smsMtm->RestoreServiceAndSettingsL();


    CSmsSettings& serviceSettings = smsMtm->ServiceSettings();


    #ifdef __UI_FRAMEWORKS_V2__
    if (serviceSettings.ServiceCenterCount() != 0)
    #else
    if (serviceSettings.NumSCAddresses() != 0)
    #endif
    {
    // set sc address to default.
    #ifdef __UI_FRAMEWORKS_V2__
    CSmsServiceCenter& sc = serviceSettings.GetServiceCenter(serviceSettings.DefaultServiceCenter());
    #else
    CSmsNumber& sc = serviceSettings.SCAddress(serviceSettings.DefaultSC());
    #endif

    TBuf8<20> buf;
    buf.FillZ();
    buf.Copy(sc.Address());
    iServiceCenterAddress.Copy(buf);
    delete iMtmRegistry;
    strcpy(pServiceCenterAddress,(char*)buf.Ptr());
    return;
    }
    }
    if(iMtmRegistry)
    {
    delete iMtmRegistry;
    iMtmRegistry = NULL;
    }
    if(iOperation)
    {
    delete iOperation;
    iOperation = NULL;
    }

    }

    void ServiceCenterAddress::RunL()
    {
    }

    void ServiceCenterAddress:oCancel()
    {
    }


    void ServiceCenterAddress::HandleSessionEventL(TMsvSessionEvent /*aEvent*/, TAny* /*aArg1*/, TAny* /*aArg2*/, TAny* /*aArg3*/)
    {
    }


    // End of File
    Dushyant Gaur
    Sling Media,
    Bangalore
    cell:+91 9342276086
    email: dushyantg@slingmedia.com

  5. #5
    Wiki Moderators
    Join Date
    May 2007
    Location
    21.46 N 72.11 E
    Posts
    3,779

    Re: looking to rent a coder - a simple sms sending code...

    @Dushyant: Next time you post any code, please make sure you use the CODE tab (#) for it. How odd it looks when you can see some smilies in the code

    Best Regards
    Croozeus
    Pankaj Nathani
    www.croozeus.com

  6. #6
    Regular Contributor
    Join Date
    May 2004
    Location
    Bangalore, India
    Posts
    118

    Re: looking to rent a coder - a simple sms sending code...

    Thanks Croozeus for pointing.....

    Will take care next time I post a code...
    Dushyant Gaur
    Sling Media,
    Bangalore
    cell:+91 9342276086
    email: dushyantg@slingmedia.com

  7. #7
    Regular Contributor
    Join Date
    May 2004
    Location
    Bangalore, India
    Posts
    118

    Re: looking to rent a coder - a simple sms sending code...

    Hi kururu,

    All you have to do is create an instance of SmsSender and start using it. The below is the way you can do it.

    Code:
    SmsSender*    iSmsSender;   /// Make this as member of some class
    
    /// create this instance before sending out the SMS
    if (iSmsSender == NULL)
    {
    	     // starting the sender
             RSocketServ     mRSocketServer;
             RFs             mRFs;
    
             iSmsSender = SmsSender::NewL(mRSocketServer,mRFs);
             if (iSmsSender == NULL)
             {
                  return KN_FALSE;
             }
             iSmsSender->Open();
    }
    
    
    /// Use this method to send out the SMS
    TRAPD(err,lRetVal = iSmsSender->SendL(destinationNumber, txtMessage));
    if(err!=KErrNone)
    {
    	//handle error
    }
    
    
    /// When you are done delete the instance of SmsSender
    if(iSmsSender)
    {
       delete iSmsSender;
       iSmsSender=NULL;
    }
    Dushyant Gaur
    Sling Media,
    Bangalore
    cell:+91 9342276086
    email: dushyantg@slingmedia.com

  8. #8
    Registered User
    Join Date
    Feb 2008
    Posts
    17

    Re: looking to rent a coder - a simple sms sending code...

    i tried to do as you said, and used the code as followed -
    (you can see the code at the end)
    Code:
    #include <aknviewappui.h>
    #include <eikappui.h>
    #include <sms.rsg>
    #include "smsContainer.h"
    #include "smsContainerView.h"
    #include "sms.hrh"
    
    /**
     * First phase of Symbian two-phase construction. Should not 
     * contain any code that could leave.
     */
    CSmsContainer::CSmsContainer()
    	{
    	// [[[ begin generated region: do not modify [Generated Contents]
    	// ]]] end generated region [Generated Contents]
    	
    	}
    /** 
     * Destroy child controls.
     */
    CSmsContainer::~CSmsContainer()
    	{
    	// [[[ begin generated region: do not modify [Generated Contents]
    	// ]]] end generated region [Generated Contents]
    	
    	}
    				
    /**
     * Construct the control (first phase).
     *  Creates an instance and initializes it.
     *  Instance is not left on cleanup stack.
     * @param aRect bounding rectangle
     * @param aParent owning parent, or NULL
     * @param aCommandObserver command observer
     * @return initialized instance of CSmsContainer
     */
    CSmsContainer* CSmsContainer::NewL( 
    		const TRect& aRect, 
    		const CCoeControl* aParent, 
    		MEikCommandObserver* aCommandObserver )
    	{
    	CSmsContainer* self = CSmsContainer::NewLC( 
    			aRect, 
    			aParent, 
    			aCommandObserver );
    	CleanupStack::Pop( self );
    	return self;
    	}
    /**
     * Construct the control (first phase).
     *  Creates an instance and initializes it.
     *  Instance is left on cleanup stack.
     * @param aRect The rectangle for this window
     * @param aParent owning parent, or NULL
     * @param aCommandObserver command observer
     * @return new instance of CSmsContainer
     */
    CSmsContainer* CSmsContainer::NewLC( 
    		const TRect& aRect, 
    		const CCoeControl* aParent, 
    		MEikCommandObserver* aCommandObserver )
    	{
    	CSmsContainer* self = new ( ELeave ) CSmsContainer();
    	CleanupStack::PushL( self );
    	self->ConstructL( aRect, aParent, aCommandObserver );
    	return self;
    	}
    			
    /**
     * Construct the control (second phase).
     *  Creates a window to contain the controls and activates it.
     * @param aRect bounding rectangle
     * @param aCommandObserver command observer
     * @param aParent owning parent, or NULL
     */ 
    void CSmsContainer::ConstructL( 
    		const TRect& aRect, 
    		const CCoeControl* aParent, 
    		MEikCommandObserver* aCommandObserver )
    	{
    	if ( aParent == NULL )
    	    {
    		CreateWindowL();
    	    }
    	else
    	    {
    	    SetContainerWindowL( *aParent );
    	    }
    	iFocusControl = NULL;
    	iCommandObserver = aCommandObserver;
    	InitializeControlsL();
    	SetRect( aRect );
    	ActivateL();
    	// [[[ begin generated region: do not modify [Post-ActivateL initializations]
    	// ]]] end generated region [Post-ActivateL initializations]
    	
    	}
    			
    /**
    * Return the number of controls in the container (override)
    * @return count
    */
    TInt CSmsContainer::CountComponentControls() const
    	{
    	return ( int ) ELastControl;
    	}
    				
    /**
    * Get the control with the given index (override)
    * @param aIndex Control index [0...n) (limited by #CountComponentControls)
    * @return Pointer to control
    */
    CCoeControl* CSmsContainer::ComponentControl( TInt aIndex ) const
    	{
    	// [[[ begin generated region: do not modify [Generated Contents]
    	switch ( aIndex )
    		{
    		}
    	// ]]] end generated region [Generated Contents]
    	
    	// handle any user controls here...
    	
    	return NULL;
    	}
    				
    /**
     *	Handle resizing of the container. This implementation will lay out
     *  full-sized controls like list boxes for any screen size, and will layout
     *  labels, editors, etc. to the size they were given in the UI designer.
     *  This code will need to be modified to adjust arbitrary controls to
     *  any screen size.
     */				
    void CSmsContainer::SizeChanged()
    	{
    	CCoeControl::SizeChanged();
    	LayoutControls();
    	// [[[ begin generated region: do not modify [Generated Contents]
    			
    	// ]]] end generated region [Generated Contents]
    	
    	}
    				
    // [[[ begin generated function: do not modify
    /**
     * Layout components as specified in the UI Designer
     */
    void CSmsContainer::LayoutControls()
    	{
    	}
    // ]]] end generated function
    
    /**
     *	Handle key events.
     */				
    TKeyResponse CSmsContainer::OfferKeyEventL( 
    		const TKeyEvent& aKeyEvent, 
    		TEventCode aType )
    	{
    	// [[[ begin generated region: do not modify [Generated Contents]
    	
    	// ]]] end generated region [Generated Contents]
    	
    	if ( iFocusControl != NULL
    		&& iFocusControl->OfferKeyEventL( aKeyEvent, aType ) == EKeyWasConsumed )
    		{
    		return EKeyWasConsumed;
    		}
    	return CCoeControl::OfferKeyEventL( aKeyEvent, aType );
    	}
    				
    // [[[ begin generated function: do not modify
    /**
     *	Initialize each control upon creation.
     */				
    void CSmsContainer::InitializeControlsL()
    	{
    	
    	}
    // ]]] end generated function
    
    /** 
     * Handle global resource changes, such as scalable UI or skin events (override)
     */
    void CSmsContainer::HandleResourceChange( TInt aType )
    	{
    	CCoeControl::HandleResourceChange( aType );
    	SetRect( iAvkonViewAppUi->View( TUid::Uid( ESmsContainerViewId ) )->ClientRect() );
    	// [[[ begin generated region: do not modify [Generated Contents]
    	// ]]] end generated region [Generated Contents]
    	
    	}
    				
    /**
     *	Draw container contents.
     */				
    void CSmsContainer::Draw( const TRect& aRect ) const
    	{
    	// [[[ begin generated region: do not modify [Generated Contents]
    	CWindowGc& gc = SystemGc();
    	gc.Clear( aRect );
    	
    	// ]]] end generated region [Generated Contents]
    	
    	}
    CSmsContainer*    iSmsSender;   /// Make this as member of some class
    
    /// create this instance before sending out the SMS
    if (iSmsSender == NULL)
    {
    	     // starting the sender
             RSocketServ     mRSocketServer;
             RFs             mRFs;
    
             iSmsSender = SmsSender::NewL(mRSocketServer,mRFs);
             if (iSmsSender == NULL)
             {
                  return KN_FALSE;
             }
             iSmsSender->Open();
    }
    
    
    /// Use this method to send out the SMS
    TRAPD(err,lRetVal = iSmsSender->SendL(destinationNumber, txtMessage));
    if(err!=KErrNone)
    {
    	//handle error
    }
    
    
    /// When you are done delete the instance of SmsSender
    if(iSmsSender)
    {
       delete iSmsSender;
       iSmsSender=NULL;
    }
    and i am getting several decleration syntax errors and -
    undefined identifier 'iSmsSender'
    undefined identifier 'RSocketServ'
    errors.
    anyone know whats the problem?
    is there somthing wrong with the code or am i missing some includes \ privlages?
    those are the includes and capabilities in the mmp file -
    Code:
    LIBRARY			euser.lib apparc.lib cone.lib 
                            eikcore.lib avkon.lib
    LIBRARY			commonengine.lib efsrv.lib estor.lib 
                            eikcoctl.lib eikdlg.lib 
    LIBRARY			eikctl.lib bafl.lib fbscli.lib 
                            aknnotify.lib aknicon.lib
    LIBRARY			etext.lib gdi.lib egul.lib insock.lib
    LIBRARY			ecom.lib InetProtUtil.lib http.lib 
                            esock.lib smcm.lib SmsEngine.lib 
                            gsmu.lib commdb.lib smsu.lib
    CAPABILITY NetworkServices
    hope that you or one of the other guy's will know what's wrong.
    thank's alot, kururu!
    Last edited by kururu; 2008-02-28 at 13:11.

  9. #9
    Registered User
    Join Date
    Feb 2008
    Posts
    2

    Re: looking to rent a coder - a simple sms sending code...

    LIBRARY euser.lib apparc.lib cone.lib
    eikcore.lib avkon.lib
    LIBRARY commonengine.lib efsrv.lib estor.lib
    eikcoctl.lib eikdlg.lib
    LIBRARY eikctl.lib bafl.lib fbscli.lib
    aknnotify.lib aknicon.lib
    LIBRARY etext.lib gdi.lib egul.lib insock.lib
    LIBRARY ecom.lib InetProtUtil.lib http.lib
    esock.lib smcm.lib SmsEngine.lib
    gsmu.lib commdb.lib smsu.lib
    CAPABILITY NetworkServices

  10. #10
    Registered User
    Join Date
    Feb 2008
    Posts
    2

    Re: looking to rent a coder - a simple sms sending code...

    Quote Originally Posted by ok0510 View Post
    LIBRARY euser.lib apparc.lib cone.lib
    eikcore.lib avkon.lib
    LIBRARY commonengine.lib efsrv.lib estor.lib
    eikcoctl.lib eikdlg.lib
    LIBRARY eikctl.lib bafl.lib fbscli.lib
    aknnotify.lib aknicon.lib
    LIBRARY etext.lib gdi.lib egul.lib insock.lib
    LIBRARY ecom.lib InetProtUtil.lib http.lib
    esock.lib smcm.lib SmsEngine.lib
    gsmu.lib commdb.lib smsu.lib
    CAPABILITY NetworkServices
    LIBRARY euser.lib apparc.lib cone.lib
    eikcore.lib avkon.lib
    LIBRARY commonengine.lib efsrv.lib estor.lib
    eikcoctl.lib eikdlg.lib
    LIBRARY eikctl.lib bafl.lib fbscli.lib
    aknnotify.lib aknicon.lib
    LIBRARY etext.lib gdi.lib egul.lib insock.lib
    LIBRARY ecom.lib InetProtUtil.lib http.lib
    esock.lib smcm.lib SmsEngine.lib
    gsmu.lib commdb.lib smsu.lib
    CAPABILITY NetworkServices

  11. #11
    Registered User
    Join Date
    Jun 2007
    Location
    Mumbai, India
    Posts
    1,998

    Re: looking to rent a coder - a simple sms sending code...

    Hi,

    You need to include ES_SOCK.H for using class RSocketServ, in your header file and link against esock.lib in your MMP. And also Make CSmsContainer* iSmsSender as member of some class. Also I think last couple of lines are not declared inside any function. So you need to clear it up.

Similar Threads

  1. How to hide that your app is sending the SMS
    By milika in forum Symbian Networking & Messaging (Closed)
    Replies: 10
    Last Post: 2008-01-09, 04:22
  2. Send SMS Problem. Cannot Get SMSC Address. Due to Strange SIM Card?
    By cksong in forum Mobile Java Networking & Messaging & Security
    Replies: 1
    Last Post: 2007-07-02, 16:13
  3. loading and sending an sms
    By marwa mohamed in forum Symbian
    Replies: 2
    Last Post: 2006-06-07, 15:19
  4. HELP! problem w/ sending and reading sms..
    By mauve928 in forum General Messaging
    Replies: 0
    Last Post: 2003-12-14, 19:10
  5. Error sending SMS
    By jorge_c in forum Multimodecards
    Replies: 0
    Last Post: 2003-10-07, 11:53

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •