-rw-r--r-- | libopie2/opiecore/device/odevice.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libopie2/opiecore/device/odevice.cpp b/libopie2/opiecore/device/odevice.cpp index e57cdef..39b37cd 100644 --- a/libopie2/opiecore/device/odevice.cpp +++ b/libopie2/opiecore/device/odevice.cpp | |||
@@ -520,260 +520,261 @@ OLedState ODevice::ledState ( OLed /*which*/ ) const | |||
520 | /** | 520 | /** |
521 | * Set the state for a LED | 521 | * Set the state for a LED |
522 | * @param which Which OLed to use | 522 | * @param which Which OLed to use |
523 | * @param st The state to set | 523 | * @param st The state to set |
524 | * @return success or failure | 524 | * @return success or failure |
525 | */ | 525 | */ |
526 | bool ODevice::setLedState ( OLed which, OLedState st ) | 526 | bool ODevice::setLedState ( OLed which, OLedState st ) |
527 | { | 527 | { |
528 | Q_UNUSED( which ) | 528 | Q_UNUSED( which ) |
529 | Q_UNUSED( st ) | 529 | Q_UNUSED( st ) |
530 | return false; | 530 | return false; |
531 | } | 531 | } |
532 | 532 | ||
533 | /** | 533 | /** |
534 | * @return if the device has a light sensor | 534 | * @return if the device has a light sensor |
535 | */ | 535 | */ |
536 | bool ODevice::hasLightSensor() const | 536 | bool ODevice::hasLightSensor() const |
537 | { | 537 | { |
538 | return false; | 538 | return false; |
539 | } | 539 | } |
540 | 540 | ||
541 | /** | 541 | /** |
542 | * @return a value from the light sensor | 542 | * @return a value from the light sensor |
543 | */ | 543 | */ |
544 | int ODevice::readLightSensor() | 544 | int ODevice::readLightSensor() |
545 | { | 545 | { |
546 | return -1; | 546 | return -1; |
547 | } | 547 | } |
548 | 548 | ||
549 | /** | 549 | /** |
550 | * @return the light sensor resolution | 550 | * @return the light sensor resolution |
551 | */ | 551 | */ |
552 | int ODevice::lightSensorResolution() const | 552 | int ODevice::lightSensorResolution() const |
553 | { | 553 | { |
554 | return 0; | 554 | return 0; |
555 | } | 555 | } |
556 | 556 | ||
557 | /** | 557 | /** |
558 | * @return if the device has a hinge sensor | 558 | * @return if the device has a hinge sensor |
559 | */ | 559 | */ |
560 | bool ODevice::hasHingeSensor() const | 560 | bool ODevice::hasHingeSensor() const |
561 | { | 561 | { |
562 | return false; | 562 | return false; |
563 | } | 563 | } |
564 | 564 | ||
565 | /** | 565 | /** |
566 | * @return a value from the hinge sensor | 566 | * @return a value from the hinge sensor |
567 | */ | 567 | */ |
568 | OHingeStatus ODevice::readHingeSensor() | 568 | OHingeStatus ODevice::readHingeSensor() |
569 | { | 569 | { |
570 | return CASE_UNKNOWN; | 570 | return CASE_UNKNOWN; |
571 | } | 571 | } |
572 | 572 | ||
573 | /** | 573 | /** |
574 | * @return a list with CPU frequencies supported by the hardware | 574 | * @return a list with CPU frequencies supported by the hardware |
575 | */ | 575 | */ |
576 | const QStrList &ODevice::allowedCpuFrequencies() const | 576 | const QStrList &ODevice::allowedCpuFrequencies() const |
577 | { | 577 | { |
578 | return *d->m_cpu_frequencies; | 578 | return *d->m_cpu_frequencies; |
579 | } | 579 | } |
580 | 580 | ||
581 | 581 | ||
582 | /** | 582 | /** |
583 | * Set desired CPU frequency | 583 | * Set desired CPU frequency |
584 | * | 584 | * |
585 | * @param index index into d->m_cpu_frequencies of the frequency to be set | 585 | * @param index index into d->m_cpu_frequencies of the frequency to be set |
586 | */ | 586 | */ |
587 | bool ODevice::setCurrentCpuFrequency(uint index) | 587 | bool ODevice::setCurrentCpuFrequency(uint index) |
588 | { | 588 | { |
589 | if (index >= d->m_cpu_frequencies->count()) | 589 | if (index >= d->m_cpu_frequencies->count()) |
590 | return false; | 590 | return false; |
591 | 591 | ||
592 | char *freq = d->m_cpu_frequencies->at(index); | 592 | char *freq = d->m_cpu_frequencies->at(index); |
593 | qWarning("set freq to %s", freq); | 593 | qWarning("set freq to %s", freq); |
594 | 594 | ||
595 | int fd; | 595 | int fd; |
596 | 596 | ||
597 | if ((fd = ::open("/proc/sys/cpu/0/speed", O_WRONLY)) >= 0) { | 597 | if ((fd = ::open("/proc/sys/cpu/0/speed", O_WRONLY)) >= 0) { |
598 | char writeCommand[50]; | 598 | char writeCommand[50]; |
599 | const int count = sprintf(writeCommand, "%s\n", freq); | 599 | const int count = sprintf(writeCommand, "%s\n", freq); |
600 | int res = (::write(fd, writeCommand, count) != -1); | 600 | int res = (::write(fd, writeCommand, count) != -1); |
601 | ::close(fd); | 601 | ::close(fd); |
602 | return res; | 602 | return res; |
603 | } | 603 | } |
604 | 604 | ||
605 | return false; | 605 | return false; |
606 | } | 606 | } |
607 | 607 | ||
608 | 608 | ||
609 | /** | 609 | /** |
610 | * @return a list of hardware buttons | 610 | * @return a list of hardware buttons |
611 | */ | 611 | */ |
612 | const QValueList <ODeviceButton> &ODevice::buttons() | 612 | const QValueList <ODeviceButton> &ODevice::buttons() |
613 | { | 613 | { |
614 | initButtons(); | 614 | initButtons(); |
615 | 615 | ||
616 | return *d->m_buttons; | 616 | return *d->m_buttons; |
617 | } | 617 | } |
618 | 618 | ||
619 | /** | 619 | /** |
620 | * @return The amount of time that would count as a hold | 620 | * @return The amount of time that would count as a hold |
621 | */ | 621 | */ |
622 | uint ODevice::buttonHoldTime() const | 622 | uint ODevice::buttonHoldTime() const |
623 | { | 623 | { |
624 | return d->m_holdtime; | 624 | return d->m_holdtime; |
625 | } | 625 | } |
626 | 626 | ||
627 | /** | 627 | /** |
628 | * This method return a ODeviceButton for a key code | 628 | * This method return a ODeviceButton for a key code |
629 | * or 0 if no special hardware button is available for the device | 629 | * or 0 if no special hardware button is available for the device |
630 | * | 630 | * |
631 | * @return The devicebutton or 0l | 631 | * @return The devicebutton or 0l |
632 | * @see ODeviceButton | 632 | * @see ODeviceButton |
633 | */ | 633 | */ |
634 | const ODeviceButton *ODevice::buttonForKeycode ( ushort code ) | 634 | const ODeviceButton *ODevice::buttonForKeycode ( ushort code ) |
635 | { | 635 | { |
636 | initButtons(); | 636 | initButtons(); |
637 | 637 | ||
638 | for ( QValueListConstIterator<ODeviceButton> it = d->m_buttons->begin(); it != d->m_buttons->end(); ++it ) { | 638 | for ( QValueListConstIterator<ODeviceButton> it = d->m_buttons->begin(); it != d->m_buttons->end(); ++it ) { |
639 | if ( (*it). keycode() == code ) | 639 | if ( (*it). keycode() == code ) |
640 | return &(*it); | 640 | return &(*it); |
641 | } | 641 | } |
642 | return 0; | 642 | return 0; |
643 | } | 643 | } |
644 | 644 | ||
645 | void ODevice::reloadButtonMapping() | 645 | void ODevice::reloadButtonMapping() |
646 | { | 646 | { |
647 | if(!d->m_buttons) | 647 | if(!d->m_buttons) |
648 | initButtons(); | 648 | initButtons(); |
649 | 649 | ||
650 | if(!d->m_initializedButtonQcop) { | 650 | if(!d->m_initializedButtonQcop) { |
651 | connect(qApp,SIGNAL(systemMessageSignal(const QCString&,const QByteArray&)), | 651 | QCopChannel *chan = new QCopChannel("QPE/System", this, "ODevice button channel"); |
652 | connect(chan,SIGNAL(received(const QCString&,const QByteArray&)), | ||
652 | this,SLOT(systemMessage(const QCString&,const QByteArray&))); | 653 | this,SLOT(systemMessage(const QCString&,const QByteArray&))); |
653 | d->m_initializedButtonQcop = true; | 654 | d->m_initializedButtonQcop = true; |
654 | } | 655 | } |
655 | 656 | ||
656 | Config cfg ( "ButtonSettings" ); | 657 | Config cfg ( "ButtonSettings" ); |
657 | 658 | ||
658 | for ( uint i = 0; i < d->m_buttons->count(); i++ ) { | 659 | for ( uint i = 0; i < d->m_buttons->count(); i++ ) { |
659 | ODeviceButton &b = ( *d->m_buttons ) [i]; | 660 | ODeviceButton &b = ( *d->m_buttons ) [i]; |
660 | QString group = "Button" + QString::number ( i ); | 661 | QString group = "Button" + QString::number ( i ); |
661 | 662 | ||
662 | QCString pch, hch; | 663 | QCString pch, hch; |
663 | QCString pm, hm; | 664 | QCString pm, hm; |
664 | QByteArray pdata, hdata; | 665 | QByteArray pdata, hdata; |
665 | 666 | ||
666 | if ( cfg. hasGroup ( group )) { | 667 | if ( cfg. hasGroup ( group )) { |
667 | cfg. setGroup ( group ); | 668 | cfg. setGroup ( group ); |
668 | pch = cfg. readEntry ( "PressedActionChannel" ). latin1(); | 669 | pch = cfg. readEntry ( "PressedActionChannel" ). latin1(); |
669 | pm = cfg. readEntry ( "PressedActionMessage" ). latin1(); | 670 | pm = cfg. readEntry ( "PressedActionMessage" ). latin1(); |
670 | // pdata = decodeBase64 ( buttonFile. readEntry ( "PressedActionArgs" )); | 671 | // pdata = decodeBase64 ( buttonFile. readEntry ( "PressedActionArgs" )); |
671 | 672 | ||
672 | hch = cfg. readEntry ( "HeldActionChannel" ). latin1(); | 673 | hch = cfg. readEntry ( "HeldActionChannel" ). latin1(); |
673 | hm = cfg. readEntry ( "HeldActionMessage" ). latin1(); | 674 | hm = cfg. readEntry ( "HeldActionMessage" ). latin1(); |
674 | // hdata = decodeBase64 ( buttonFile. readEntry ( "HeldActionArgs" )); | 675 | // hdata = decodeBase64 ( buttonFile. readEntry ( "HeldActionArgs" )); |
675 | } | 676 | } |
676 | 677 | ||
677 | b. setPressedAction ( OQCopMessage ( pch, pm, pdata )); | 678 | b. setPressedAction ( OQCopMessage ( pch, pm, pdata )); |
678 | 679 | ||
679 | b. setHeldAction ( OQCopMessage ( hch, hm, hdata )); | 680 | b. setHeldAction ( OQCopMessage ( hch, hm, hdata )); |
680 | } | 681 | } |
681 | } | 682 | } |
682 | 683 | ||
683 | void ODevice::remapPressedAction ( int button, const OQCopMessage &action ) | 684 | void ODevice::remapPressedAction ( int button, const OQCopMessage &action ) |
684 | { | 685 | { |
685 | initButtons(); | 686 | initButtons(); |
686 | 687 | ||
687 | QString mb_chan; | 688 | QString mb_chan; |
688 | 689 | ||
689 | if ( button >= (int) d->m_buttons->count()) | 690 | if ( button >= (int) d->m_buttons->count()) |
690 | return; | 691 | return; |
691 | 692 | ||
692 | ODeviceButton &b = ( *d->m_buttons ) [button]; | 693 | ODeviceButton &b = ( *d->m_buttons ) [button]; |
693 | b. setPressedAction ( action ); | 694 | b. setPressedAction ( action ); |
694 | 695 | ||
695 | mb_chan=b. pressedAction(). channel(); | 696 | mb_chan=b. pressedAction(). channel(); |
696 | 697 | ||
697 | Config buttonFile ( "ButtonSettings" ); | 698 | Config buttonFile ( "ButtonSettings" ); |
698 | buttonFile. setGroup ( "Button" + QString::number ( button )); | 699 | buttonFile. setGroup ( "Button" + QString::number ( button )); |
699 | buttonFile. writeEntry ( "PressedActionChannel", (const char*) mb_chan); | 700 | buttonFile. writeEntry ( "PressedActionChannel", (const char*) mb_chan); |
700 | buttonFile. writeEntry ( "PressedActionMessage", (const char*) b. pressedAction(). message()); | 701 | buttonFile. writeEntry ( "PressedActionMessage", (const char*) b. pressedAction(). message()); |
701 | 702 | ||
702 | // buttonFile. writeEntry ( "PressedActionArgs", encodeBase64 ( b. pressedAction(). data())); | 703 | // buttonFile. writeEntry ( "PressedActionArgs", encodeBase64 ( b. pressedAction(). data())); |
703 | 704 | ||
704 | QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" ); | 705 | QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" ); |
705 | } | 706 | } |
706 | 707 | ||
707 | void ODevice::remapHeldAction ( int button, const OQCopMessage &action ) | 708 | void ODevice::remapHeldAction ( int button, const OQCopMessage &action ) |
708 | { | 709 | { |
709 | initButtons(); | 710 | initButtons(); |
710 | 711 | ||
711 | if ( button >= (int) d->m_buttons->count()) | 712 | if ( button >= (int) d->m_buttons->count()) |
712 | return; | 713 | return; |
713 | 714 | ||
714 | ODeviceButton &b = ( *d->m_buttons ) [button]; | 715 | ODeviceButton &b = ( *d->m_buttons ) [button]; |
715 | b. setHeldAction ( action ); | 716 | b. setHeldAction ( action ); |
716 | 717 | ||
717 | Config buttonFile ( "ButtonSettings" ); | 718 | Config buttonFile ( "ButtonSettings" ); |
718 | buttonFile. setGroup ( "Button" + QString::number ( button )); | 719 | buttonFile. setGroup ( "Button" + QString::number ( button )); |
719 | buttonFile. writeEntry ( "HeldActionChannel", (const char *) b. heldAction(). channel()); | 720 | buttonFile. writeEntry ( "HeldActionChannel", (const char *) b. heldAction(). channel()); |
720 | buttonFile. writeEntry ( "HeldActionMessage", (const char *) b. heldAction(). message()); | 721 | buttonFile. writeEntry ( "HeldActionMessage", (const char *) b. heldAction(). message()); |
721 | 722 | ||
722 | // buttonFile. writeEntry ( "HeldActionArgs", decodeBase64 ( b. heldAction(). data())); | 723 | // buttonFile. writeEntry ( "HeldActionArgs", decodeBase64 ( b. heldAction(). data())); |
723 | 724 | ||
724 | QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" ); | 725 | QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" ); |
725 | } | 726 | } |
726 | 727 | ||
727 | /** | 728 | /** |
728 | * @internal | 729 | * @internal |
729 | */ | 730 | */ |
730 | void ODevice::virtual_hook(int, void* ){ | 731 | void ODevice::virtual_hook(int, void* ){ |
731 | 732 | ||
732 | } | 733 | } |
733 | 734 | ||
734 | /** | 735 | /** |
735 | * \brief Send a QCOP Message before suspending | 736 | * \brief Send a QCOP Message before suspending |
736 | * | 737 | * |
737 | * Sends a QCOP message to channel QPE/System | 738 | * Sends a QCOP message to channel QPE/System |
738 | * with the message "aboutToSuspend()" if this | 739 | * with the message "aboutToSuspend()" if this |
739 | * is the windowing server. | 740 | * is the windowing server. |
740 | * | 741 | * |
741 | * Call this in your custom \sa suspend() Method | 742 | * Call this in your custom \sa suspend() Method |
742 | * before going to suspend. | 743 | * before going to suspend. |
743 | * | 744 | * |
744 | */ | 745 | */ |
745 | void ODevice::sendSuspendmsg() | 746 | void ODevice::sendSuspendmsg() |
746 | { | 747 | { |
747 | if ( isQWS() ) | 748 | if ( isQWS() ) |
748 | return; | 749 | return; |
749 | 750 | ||
750 | QCopEnvelope ( "QPE/System", "aboutToSuspend()" ); | 751 | QCopEnvelope ( "QPE/System", "aboutToSuspend()" ); |
751 | } | 752 | } |
752 | 753 | ||
753 | /** | 754 | /** |
754 | * \brief Prepend the QWSServer::KeyboardFilter to the list of installed KeyFilters | 755 | * \brief Prepend the QWSServer::KeyboardFilter to the list of installed KeyFilters |
755 | * | 756 | * |
756 | * Prepend a QWSServer::KeyboardFilter to the List of Keyboard | 757 | * Prepend a QWSServer::KeyboardFilter to the List of Keyboard |
757 | * Filters. This function is the only way to prepend a KeyFilter. | 758 | * Filters. This function is the only way to prepend a KeyFilter. |
758 | * | 759 | * |
759 | * @param aFilter The KeyFilter to be prepended to the list of filters | 760 | * @param aFilter The KeyFilter to be prepended to the list of filters |
760 | * | 761 | * |
761 | * @see Opie::Core::OKeyFilter | 762 | * @see Opie::Core::OKeyFilter |
762 | * @see Opie::Core::OKeyFilter::inst() | 763 | * @see Opie::Core::OKeyFilter::inst() |
763 | */ | 764 | */ |
764 | void ODevice::addPreHandler(QWSServer::KeyboardFilter*aFilter) | 765 | void ODevice::addPreHandler(QWSServer::KeyboardFilter*aFilter) |
765 | { | 766 | { |
766 | Opie::Core::OKeyFilter::inst()->addPreHandler(aFilter); | 767 | Opie::Core::OKeyFilter::inst()->addPreHandler(aFilter); |
767 | } | 768 | } |
768 | 769 | ||
769 | /** | 770 | /** |
770 | * \brief Remove the QWSServer::KeyboardFilter in the param from the list | 771 | * \brief Remove the QWSServer::KeyboardFilter in the param from the list |
771 | * | 772 | * |
772 | * Remove the QWSServer::KeyboardFilter \par aFilter from the List | 773 | * Remove the QWSServer::KeyboardFilter \par aFilter from the List |
773 | * of Keyfilters. Call this when you delete the KeyFilter! | 774 | * of Keyfilters. Call this when you delete the KeyFilter! |
774 | * | 775 | * |
775 | * @param aFilter The filter to be removed from the Opie::Core::OKeyFilter | 776 | * @param aFilter The filter to be removed from the Opie::Core::OKeyFilter |
776 | * @see Opie::Core::ODevice::addPreHandler | 777 | * @see Opie::Core::ODevice::addPreHandler |
777 | */ | 778 | */ |
778 | void ODevice::remPreHandler(QWSServer::KeyboardFilter*aFilter) | 779 | void ODevice::remPreHandler(QWSServer::KeyboardFilter*aFilter) |
779 | { | 780 | { |